Xamarin.Mac/NSImageをファイルに保存する

提供: MonoBook
移動: 案内検索

Xamarin.Macでは、NSImageに限らず、「ファイルに保存する」という動作は基本的にNSDataに変換し、そこのSaveメソッドで行うようだ。

方法1: NSData[編集]

以下の方法では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;
        }
    }

方法2: System.Drawing.Image[編集]

NSImageをSystem.Drawing.Imageクラスに変換してしまう方法である。Imageクラスになってしまえば後はググれば保存方法や加工方法はモリモリ出てくる。画像データの読み書きなどはプラットフォームに依存すべきものではないため、移植性や互換性の面からも可能であればこの方法が望ましいと思われる。

関連項目[編集]

参考文献[編集]