「Xamarin.MacでNSImageをファイルに保存する」の版間の差分

提供: MonoBook
ナビゲーションに移動 検索に移動
imported>Monobook
(Monobook がページ「MonoMac/NSImageをファイルに保存する」を「Xamarin.Mac/NSImageをファイルに保存する」に移動しました)
imported>Monobook
1行目: 1行目:
[[MonoMac]]では、NSImageに限らず、「[[ファイル]]に保存する」という動作は基本的にNSDataに変換し、そこのSaveメソッドで行うようだ。
+
Xamarin.Macでは、NSImageに限らず、「[[ファイル]]に保存する」という動作は基本的にNSDataに変換し、そこのSaveメソッドで行うようだ。
  
==方法1==
+
== 方法1 ==
 
以下の方法では[[TIFFファイル]]で保存される。
 
以下の方法では[[TIFFファイル]]で保存される。
 
もっとも簡単な方法だと思われる。
 
もっとも簡単な方法だと思われる。
28行目: 28行目:
 
</source>
 
</source>
  
==関連項目==
+
== 方法2: System.Drawing.Image ==
*[[MonoMac/NSImageをSystem.Drawing.Imageに変換する]]
+
NSImageをSystem.Drawing.Imageクラスに変換してしまう方法である。Imageクラスになってしまえば後はググれば保存方法や加工方法はモリモリ出てくる。
*:System.Drawing.Imageが読み込める形式(PNGファイル)フォーマット変換を行っているのが肝。このフォーマット変換部分を上記のファイル保存と組み合わせればPNGファイルへの保存などもできるはず。
 
  
==参考文献==
+
* [[Xamarin.Mac/NSImageをSystem.Drawing.Imageに変換する]]
 +
* [[Xamarin.Mac/System.Drawing.ImageをNSImageに変換する]]
 +
 
 +
== 関連項目 ==
 +
 
 +
== 参考文献 ==
 
{{reflist}}
 
{{reflist}}
  

2017年6月19日 (月) 04:22時点における版

Xamarin.Macでは、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;
        }
    }

方法2: System.Drawing.Image

NSImageをSystem.Drawing.Imageクラスに変換してしまう方法である。Imageクラスになってしまえば後はググれば保存方法や加工方法はモリモリ出てくる。

関連項目

参考文献