Преобразование между несколько форматов изображений в Objective-C

Я хочу иметь возможность, получив путь к изображению, преобразовать это изображение в другое изображение, но в другом формате. Под форматом я подразумеваю .png, .bmp .jpg .tiff и т. Д. В псевдокоде это действительно просто:

image = [ImageAPI open: imagePath]
[image save: imagePath withFormat: IMAGEFORMAT] // this is important

Я понятия не имею, как это сделать. Когда дело доходит до обработки изображений, я знаю только класс NSImage), и это, похоже, не дает ответа на мою проблему (нет простых методов сохранения, подобных этому). Вот список форматов, которые я хотел бы поддерживать:

  • .png
  • .tiff
  • .gif
  • .jpeg
  • .bmp
  • ВЕРОЯТНО .pdf (если это не так очень сложно)

Под поддержкой я подразумеваю открытие любого из них и сохранение открытого изображения в любом из этих форматов. Здесь есть несколько комбинаций (15 ??? - я думаю), так что я мог бы написать метод для каждой комбинации так:

[self saveTiffImageIntoGifWithPath: path] (*15 !!!)

Но определенно лучше использовать API.

Если случайно попутно я также есть такие опции, как:

  • сохранить альфа или нет
  • изменить размер изображений

... Я был бы рад поддержать их, хотя они не являются обязательными. Я очень надеюсь, что есть простой способ сделать это. СПАСИБО

PS: Я знаю, что были вопросы по этой теме, но все они были ориентированы на iPhone (я хочу сделать это на Mac), и ни один из них не предоставил способ сделать это с несколькими форматами.

5
задан Alex 4 July 2011 в 07:55
поделиться