いつそれぞれ使うべきですか?NSImage vs. CIImage vs. CGImage?
19
A
答えて
46
NSImageは、さまざまなタイプのイメージと複数のイメージの表現を表す抽象的なデータ型です。画像の実際のタイプがあなたがやろうとしていることにとって重要でない場合は、しばしば役に立ちます。また、AppKitがそのAPI(NSImageViewなど)で受け入れる唯一のイメージクラスです。
CGImageはビットマップしか表現できません。 CGImageは、実際のビットマップデータを取得する必要がある場合には、適切なタイプです。ブレンドモードやマスキングなどのCoreGraphicsの操作には、CGImageRefsが必要です。 CGImageRefsを使用してNSBitmapImageRefsを作成し、それをNSImageに追加することができます。
私はドキュメントが最高のCIImageを説明思う:
CIImageオブジェクトは、それに関連付けられた画像データを持っていますが、それはイメージではありません。 CIImageオブジェクトはイメージ "レシピ"と考えることができます.CIImageオブジェクトはイメージを生成するために必要なすべての情報を持っていますが、Core Imageは実際にイメージをレンダリングするまで指示しません。この「レイジー評価」方法により、Core Imageは可能な限り効率的に動作することができます。
CIImagesはCGImageRefsのように、彼らはまた、NSBitmapImageRepsに変換することができ、マックOS Xに付属している様々なGPUに最適化されたコアImageフィルタを使用するために必要なタイプですが、。
関連する問題
- 1. CIImage with CGImage memory
- 2. CIImage
- 3. Quartz.NET vs JAMS vs?
- 4. _mm_load_ps vs. _mm_load_pd vs.
- 5. NetSqlAzMan vs AzMan vs(?????)
- 6. hstack/vstack vs append vs concatenate vs column_stack
- 7. 場所vs GeoPoint vs 1E6 vs課金
- 8. getBBox()vs getClientRects()vs getClientRects()
- 9. Application.Exit()vs Application.ExitThread()vs Environment.Exit()
- 10. xprofile vs xsession vs xinitrc
- 11. tcsh:ls vs pwd vs cd
- 12. Express.js:app.locals vs req.locals vs req.session
- 13. Zabbix vs grafana vs kibana
- 14. インターポレーターvsアニメーションvsトランジション
- 15. クライアントアプリvs Windowsサービスvs?
- 16. flume vs kafka vs他
- 17. アクティブソリューションプラットフォームVSプロジェクトプラットフォームVSプラットフォームターゲット
- 18. DIP vs. DI vs. IoC
- 19. java.lang.Void vs void vs Null
- 20. RegAsm VS RegSvc32 VS GAC
- 21. 特性vs.ミックスインvs.
- 22. select vs distinct vs uniq?
- 23. GCC:mtune vs march vs mcpu
- 24. MySQL vs Firebird vs SQLite
- 25. Image vs BitmapImage vs Bitmap
- 26. サブクラスvsエクステンションvsインナークラス
- 27. TextColor vs TextColorPrimary vs TextColorSecondary
- 28. ZeroMQ vs Twisted vs Autobahn
- 29. XAML vs WPF vs Store App vs Phone App vs UWA
- 30. ARKit vs. ARCore vs. Vuforia vs. D'Fusionモバイルvs. Layar SDK