Создайте NSI-изображение нужного размера, заблокируйте на нем фокус, нарисуйте желаемый прямоугольник кадрирования исходного изображения во все границы целевого изображения и разблокируйте фокус.Созданное вами изображение теперь содержит кадрирование из исходного изображения.
Обратите внимание, что при этом теряются такие данные, как разрешение (DPI), цветовой профиль и теги EXIF.Если вы хотите сохранить эти вещи (вероятно, хорошая идея), используйте CGImage:
- Используйте CGImageSource для загрузки изображения.Обязательно восстановите свойства каждого изображения из файла, а также сами изображения.И обратите внимание, что я использовал множественное число: файлы TIFF могут содержать несколько изображений.
- Используйте функцию
CGImageCreateWithImageInRect
, чтобы обрезать нужный фрагмент каждого изображения.Не забудьте выпустить каждое исходное изображение соответствующим образом. - Если вы хотите записать обрезанные изображения в файл, сделайте это, используя CGImageDestination .Передайте изображения и словари атрибутов, полученные на шаге 1.