Измените размер JPEG и сохраните новый файл в JPEG на Mac OS X, используя Cocoa - PullRequest
0 голосов
/ 09 сентября 2010

Я немного озадачен тем, что лучший подход - изменить размер файла JPEG на диске и сохранить измененный размер JPEG как новый файл на диск (в Mac OS X с Cocoa).Есть несколько тем об изменении размера, но мне интересно, какой подход использовать.Нужно ли использовать Core Graphics для этого или эта структура "слишком много" для простой операции в качестве изменения размера?Любые указатели приветствуются, так как я немного растерялся.

Ответы [ 2 ]

2 голосов
/ 09 сентября 2010

Core Graphics не «слишком много»; это правильный способ сделать это.

Существует решение Какао:

  1. Создание изображения нужного размера (конечного изображения).
  2. Блокировка фокуса на нем.
  3. Нарисуйте исходное изображение в нем.
  4. Разблокируйте фокус на нем.
  5. Экспорт в нужный формат файла.
  6. Запишите эти данные куда-нибудь.

Но это уничтожает метаданные.

Решение Core Graphics не сильно отличается:

  1. Используйте источник изображения для загрузки изображения и его метаданных.
  2. Создание растрового контекста нужного размера с цветовым пространством исходного изображения. (Здесь самое сложное - убедиться, что контекст назначения соответствует исходному изображению настолько близко, насколько это возможно, при этом он остается в одном из поддерживаемых форматов пикселей .)
  3. Нарисуйте в нем исходное изображение.
  4. Захват содержимого контекста.
  5. Используйте назначение изображения для записи изображения и метаданных в файл.

А решение Core Graphics гарантирует, что на пути будет потеряно как можно меньше информации. (Вы можете настроить метаданные DPI, если они есть.)

0 голосов
/ 09 сентября 2010

Установка и использование ImageMagick .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...