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

提供: MonoBook
2015年1月30日 (金) 01:42時点における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ファイルへの保存などもできるはず。

参考文献