Когда я должен использовать каждый?NSImage против CIImage против CGImage?
ответ
NSImage - абстрактный тип данных, который может представлять множество различных типов изображений, а также множество изображений изображения. Это часто полезно, когда фактический тип изображения не важен для того, что вы пытаетесь сделать. Это также единственный класс изображений, который AppKit примет в своих API (NSImageView и т. Д.).
CGImage может представлять только растровые изображения. Если вам нужно опуститься и испортить фактические данные растрового изображения, CGImage - подходящий тип. Операции в CoreGraphics, такие как режимы наложения и маскировка, требуют CGImageRefs. CGImageRefs можно использовать для создания NSBitmapImageRefs, который затем может быть добавлен в NSImage.
Я думаю, что документация описывает CIImage лучше:
Хотя объект CIImage имеет данные изображения, связанные с ним, это не образ. Вы можете представить объект CIImage как образ «рецепт». Объект CIImage имеет всю информацию, необходимую для создания изображения, но Core Image фактически не отображает изображение, пока ему не говорят об этом. Этот метод «ленивой оценки» позволяет Core Image работать максимально эффективно.
CIImages являются тип необходимо использовать различные GPU-оптимизированные фильтры основного изображения, которые поставляются с Mac OS X, но, как CGImageRefs, они также могут быть преобразованы в NSBitmapImageReps.
- 1. Преобразование CIImage в NSImage
- 2. CGImage to NSImage with Swift
- 3. Преобразование CIImage в CGImage слишком медленно
- 4. Преобразование NSImage в CIImage без ухудшенного качества
- 5. Тонирование оттенков серого NSImage (или CIImage)
- 6. @Findby против против и против?
- 7. UIImage против NSImage: Рисование на экране с изображением в прошивкой
- 8. Flip NSImage на обе оси
- 9. Облачные сервисы - EC2 против GAE против Lunacloud против Jelastic против
- 10. Opa против Дарта против Haxe против CoffeeScript
- 11. APL против A против J против K?
- 12. ZeroMQ против node.js против beanstalkd против Twisted
- 13. «метод» против «сообщения» против «функции» против «???»
- 14. Метафон против Левенштейна против Soundex против Hamming
- 15. body.scrollTop против documentElement.scrollTop против window.pagYOffset против window.scrollY
- 16. Сохранить CIImage, путем преобразования в CGImage, выдает ошибку
- 17. eÌ против Ã «против
- 18. JSONML против InnerHTML против?
- 19. Кристаллс против Иррихт против .....?
- 20. Quartz.NET против JAMS против?
- 21. Как выбрать область экрана и сохранить ее как CGimage или CIImage?
- 22. MAC OS Xcode Swift 2.2 Преобразование NSImage в CIImage
- 23. Mathematica: невычисленного против Defer против Отложено против HoldForm против HoldAllComplete против и т.д. и т.п.
- 24. .c против .cc против .cpp против .hpp против .h против .cxx
- 25. Формат float CGImage требует замены байтов?
- 26. NSImage ж/BitmapImageRep -> CIImage инвертировать цвет -> NSImage ж/BitmapImageRep, цветовые вопросы
- 27. GPUImage: imageFromCurrentlyProcessedOutputWithOrientation против imageByFilteringImage:
- 28. Распространение против MPI против zeromq?
- 29. Селен против SimpleTest против WatiN
- 30. RazorEngine против RazorTemplates против RazorMachine