Posiadam kod generujący obraz, który używa UIGraphicsBeginImageContext(), UIGraphicsGetImageFromCurrentImageContext() i UIImagePNGRepresentation() do wykonania rysunku, a następnie zapisuje go na dysku jako PNG do późniejszego wykorzystania .UIImagePNGRepresentation() i skala (ekran iPhone 4)
Czy UIImagePNGRepresentation() uwzględnia skalę? W jaki sposób, jeśli mam obraz o szerokości 20 punktów, czy wynikowy PNG będzie miał 20 pikseli lub 40 pikseli?
Ponadto podczas wyświetlania tych obrazów używam [UIImage imageWithContentsOfFile:] i [image drawInRect:]. Czy istnieje sposób na wskazanie tych metod, aby użyć rysunków o wyższej rozdzielczości?
Jeśli stworzyłem kontekst w skali 2.0 (powiedzmy, że ma on 20 punktów szerokości), to kiedy wywołasz UIImagePNGRepresentation(), wynikowy PNG będzie miał 40 pikseli szerokości? –
Według mojego zrozumienia dokumentów, tak. Chociaż przyznaję, że sam tego nie próbowałem. Tworzysz zatem kontekst 20x20 pkt przy współczynniku skali 2,0. Otrzymujesz obraz o wymiarach 40x40 pikseli. Zapisujesz to jako [email protected] Następnie, gdy załadujesz go z UIImage, znowu będzie 20x20 pt ze skalą 2.0. Jeśli zamiast tego zapiszesz go jako image.png i załadujesz go, otrzymasz obraz 40x40 pt ze skalą 1.0. –
Dzięki za pomoc. Mam to działa :) –