UIImage класс

Введение

UIImage объект - высокоуровневый путь для отображения данных изображения. Вы можете создать этот объект из файла, из объекта Quartz или из исходных данных вашего приемника. UIImage также предоставляет различные опции для отрисовки изображения на текущем графическом контексте, используя различные режимы смешивания и значения прозрачности.

Объект изображения является неизменяемым, это означает, что после создания вы не можете его изменять. Таким образом вы должны указать все основные опции во время создания и инициализации объекта изображения. Это также означает, что объекты UIImage сами по себе являются потокобезопасными и могут быть использованы из любого потока. Единственным способом изменить свойства изображения, это воспользоваться одним из вспомогательных методов для создания копии изображения с установленными пользовательскими значениями свойств.

Поскольку объекты изображений являются неизменными, они также не обеспечивают прямого доступа к своим базовым данным изображений. При желании получить объект NSData, содержащий PNG или JPEG представление вашего объекта изображения, воспользуйтесь соответствующей функцией UIKit фиблиотеки,- UIImagePNGRepresentation или UIImageJPEGRepresentation соответственно.

Система использует объекты изображения, чтобы представлять фотографии, сделанные с помощью камеры на поддерживаемых устройствах. Чтобы сделать снимок, используйте класс UIImagePickerController. Чтобы сохранить изображение в фотоальбоме, используйте функцию UIImageWriteToSavedPhotosAlbum.

Изображения и управление памятью

В ситуации нехватки памяти, данные изображения могут быть удалены из объекта UIImage чтобы освободить память для системы. Такая очистка влияет только на данные изображения, сохраненные внутри объекта UIImage, а не на сам объект. При попытке нарисовать образ, данные которого были очищены, объект изображения автоматически перезагружает данные из исходного файла. Этот дополнительный шаг загрузки, может оказать эффект низкой производительности.

Вам не следует создавать слишком большие объекты изображения, такие как 1024 X 1024 и больше. Кроме потребления большого объема памяти, вы можете столкнуться с проблемами при использовании изображения в качестве текстуры в OpenGL ES или при нанесении изображения на вид или слой. Это ограничение размера не применяется, если вы выполняете манипуляции на основе кода, такие как изменение размера изображения, опираясь на его bitmap графический контекст. На самом деле, вам, возможно, потребуется изменить размер изображения в данной манере (или разбить его на несколько более мелких изображений) для того, чтобы привести его к одному из ваших видов.

Сравнение изображений в iOS 8

Исходя из того, что изображение заключено в его CGImageRef, а не UIImage объект, являющийся его оберткой, начиная с iOS 8, вы не можете больше полагаться на указатель равенства для сравнения кэшированных объектов UIImage, так, как механизм кэширования может не вернуть один и тот же UIImage объект. Вы должны использовать isEqual: , чтобы правильно проверить два UIImage на равенство.

Поддерживаемые форматы

Следующая таблица содержит форматы изображений, которые могут быть загружены:

ФорматРасширение файла
Tagged Image File Format (TIFF).tiff, .tif
Joint Photographic Experts Group (JPEG).jpg, .jpeg
Graphic Interchange Format (GIF).gif
Portable Network Graphic (PNG).png
Windows Bitmap Format (DIB).bmp, .BMPf
Windows Icon Format.ico
Windows Cursor.cur
X Window System bitmap.xbm
 
Файлы в формате Windows Bitmap Format (BMP), отформатированные в формате RGB-565, после загрузки преобразуются в ARGB-1555.

Загрузка кэшированных изображений

+ imageNamed:inBundle:compatibleWithTraitCollection:
+ imageNamed:

Создание нового изображения

+ imageWithContentsOfFile:
+ imageWithData:
+ imageWithData:scale:
+ imageWithCGImage:
+ imageWithCGImage:scale:orientation:
+ imageWithCIImage:
+ imageWithCIImage:scale:orientation:
- imageWithAlignmentRectInsets:
+ animatedImageNamed:duration:
+ animatedImageWithImages:duration:
+ animatedResizableImageNamed:capInsets:duration:
+ animatedResizableImageNamed:capInsets:resizingMode:duration:
- resizableImageWithCapInsets:
- resizableImageWithCapInsets:resizingMode:
- imageWithRenderingMode:

Инициализация изображения

- initWithContentsOfFile:
- initWithData:
- initWithData:scale:
- initWithCGImage:
- initWithCGImage:scale:orientation:
- initWithCIImage:
- initWithCIImage:scale:orientation:

Атрибуты изображения

imageOrientation
size
scale
resizingMode
CGImage
CIImage
images
duration
capInsets
alignmentRectInsets
imageAsset
traitCollection
renderingMode

Рисование изображений

- drawAtPoint:
- drawAtPoint:blendMode:alpha:
- drawInRect:
- drawInRect:blendMode:alpha:
- drawAsPatternInRect:

Константы

UIImageOrientation
UIImageResizingMode
UIImageRenderingMode
 
 
homeЗаметили ошибкукарта сайта 
   Made on a Mac