Xamarin.MacでNSImageをファイルに保存する
2015年1月29日 (木) 13:44時点における153.220.18.74 (トーク)による版
MonoMacでは、NSImageに限らず、「ファイルに保存する」という動作は基本的にNSDataに変換し、そこのSaveメソッドで行うようだ。
方法1
以下の方法ではTIFFファイルで保存される。 もっとも簡単な方法だと思われる。
using System;
using System.Drawing;
using System.IO;
using MonoMac.Foundation;
using MonoMac.AppKit;
public static class NSImageExtentions
{
public static NSError Save(this NSImage image, string file)
{
NSError error = null;
using (var imageData = image.AsTiff())
{
imageData.Save(file: file, auxiliaryFile: false, error: out error);
}
return error;
}
}
関連項目
- MonoMac/NSImageをSystem.Drawing.Imageに変換する
- System.Drawing.Imageが読み込める形式(PNGファイル)フォーマット変換を行っているのが肝。このフォーマット変換部分を上記のファイル保存と組み合わせればPNGファイルへの保存などもできるはず。