Kiedy należy używać każdego?NSImage vs. CIImage vs. CGImage?
Odpowiedz
NSImage to abstrakcyjny typ danych, który może reprezentować wiele różnych typów obrazów, a także wiele reprezentacji obrazu. Często jest to przydatne, gdy rzeczywisty typ obrazu nie jest ważny dla tego, co próbujesz zrobić. Jest to również jedyna klasa obrazów, którą AppKit zaakceptuje w swoich interfejsach API (NSImageView i tak dalej).
CGImage może reprezentować tylko bitmapy. Jeśli chcesz uzyskać brudne dane mapy bitowej, CGImage jest odpowiednim typem do użycia. Operacje w CoreGraphics, takie jak tryby mieszania i maskowanie, wymagają CGImageRefs. CGImageRefs można użyć do utworzenia NSBitmapImageRefs, które można następnie dodać do NSImage.
myślę dokumentacja opisuje CIImage najlepiej:
Chociaż obiekt CIImage ma danych obrazu z nim związane, to nie jest obraz. Możesz myśleć o obiekcie CIImage jako "recepturze" obrazu. Obiekt CIImage zawiera wszystkie informacje niezbędne do utworzenia obrazu, ale Core Image nie renderuje obrazu, dopóki nie zostanie o tym poproszony. Ta metoda "leniwej oceny" pozwala Core Image działać tak wydajnie, jak to tylko możliwe.
CIImages jesteś typem wymagane do korzystania z różnych GPU zoptymalizowane Rdzeń filtry obrazu, które pochodzą z systemu Mac OS X, ale, jak CGImageRefs, mogą też być konwertowane do NSBitmapImageReps.
- 1. Swift NSImage to CGImage
- 2. Konwersja CIImage w NSImage
- 3. Odwróć NSImage na obu osiach
- 4. metoda vs funkcja vs procedura vs klasa?
- 5. body.scrollTop vs documentElement.scrollTop vs window.pagYOffset vs window.scrollY
- 6. Opa vs Dart vs Haxe vs coffeescript
- 7. VS 2008 vs VS 2008 Express
- 8. Strona vs Extent vs. Segment vs. Tabele
- 9. Crystalspace vs. Irrlicht vs. .....?
- 10. NetSqlAzMan vs AzMan vs (?????)
- 11. SpiderMonkey vs JavaScriptCore vs?
- 12. Tworzenie obiektu UII z CIImage
- 13. Klasa vs pakiet vs moduł vs komponent vs kontener kontra serwis vs platforma w świecie Java
- 14. Zmierz czas w Linuksie - czas vs zegar vs getrusage vs clock_gettime vs gettimeofday vs timespec_get?
- 15. Dlaczego jest tak dużo konwersji pomiędzy formatami obrazu? (UIImage, CGImage, CIImage)
- 16. IDataErrorInfo vs ValidationRule vs Exception
- 17. Boo vs C# vs Python?
- 18. DbConnection vs OleDbConnection vs OdbcConnection
- 19. Matlab vs Aforge vs OpenCV
- 20. DDS vs AMQP vs ZeroMQ
- 21. ScheduledExecutorService vs Timer vs Handler
- 22. flume vs kafka vs inni
- 23. ActiveMQ vs Apollo vs Kafka
- 24. getBBox() vs getBoundingClientRect() vs getClientRects()
- 25. Object vs Class vs Function
- 26. Wskaźniki vs auto_ptr vs shared_ptr
- 27. fadeIn fadeOut vs vs fadeTo
- 28. DMD vs. GDC vs. LDC
- 29. select vs poll vs epoll
- 30. Xamarin vs. Mono vs. Monodevelop