Xamarin.Mac/CGImageをNSImageに変換する
2016年10月27日 (木) 06:49時点におけるimported>Administratorによる版 (→関連項目)
目次
概要
CGImageを直接的にファイルに保存することは出来るが、Xamarin.MacのClass APIプロジェクト及びMonoMacプロジェクトではMobileCoreServices.UTType列挙体を自前で用意しないとならないなどかなりかなり面倒である。そこでCGImageをNSImageに変換してファイルに保存してやった方が楽ではないかと考えた。
実装
考えるまでもなくNSImageのコンストラクタにあった。
var nsImage = new NSImage(cgImage, new SizeF(cgImage.Width, cgImage.Height));
ただしスクリーンキャプチャをパラパラアニメ風に連射で撮ってみたことろ変換に伴う負荷(上記コード部分の負荷)が結構高い。やっぱりCGImageは面倒でも直接的に保存した方がいいかもしれない。