「Xamarin.Mac/System.Drawing.ImageをNSImageに変換する」の版間の差分
imported>Monobook 細 Monobook がページ「MonoMac/System.Drawing.ImageをNSImageに変換する」を「Xamarin.Mac/System.Drawing.ImageをNSImageに変換する」に移動しました |
imported>Monobook 編集の要約なし |
||
| 1行目: | 1行目: | ||
Xamarin.MacにおいてSystem.Drawing.ImageをAppKit.NSImageに変換する方法を試行錯誤している。 | |||
==方法1== | == 方法1 == | ||
NSImageは[[ファイル]]からのインスタンス生成はできるようだが、byte[]などのメモリ上の[[データ]]からのインスタンス生成はできない。 | |||
そこでCoreGraphicsのCGImageを経由して変換を行う。 | |||
<source lang="csharp"> | <source lang="csharp"> | ||
using System; | using System; | ||
| 9行目: | 9行目: | ||
using System.Drawing.Imaging; | using System.Drawing.Imaging; | ||
using System.IO; | using System.IO; | ||
using | using Foundation; | ||
using | using AppKit; | ||
using | using CoreGraphics; | ||
public static class | public static class NSImageExtensions | ||
{ | { | ||
public static NSImage ToNSImage(this Image image) | public static NSImage ToNSImage(this Image image) | ||
| 43行目: | 43行目: | ||
</source> | </source> | ||
System.Drawing.ImageからのNSImageへの変換はともかく、byte[]からNSImageインスタンスの生成は、[[プログラム]]中で[[ウェブ]]などから[[ファイル]] | System.Drawing.ImageからのNSImageへの変換はともかく、byte[]からNSImageインスタンスの生成は、[[プログラム]]中で[[ウェブ]]などから[[ファイル]]を落としてきて表示するようなアプリの場合にはほぼ登場する手法になると思われる。 | ||
==関連項目== | == 関連項目 == | ||
*[[ | * [[Xamarin.Mac]] | ||
*[[ | * [[Xamarin.Mac/NSImageをSystem.Drawing.Imageに変換する]] | ||
*[[MonoMac/NSImageをファイルに保存する]] | * [[MonoMac/NSImageをファイルに保存する]] | ||
*[[Xamarin.Mac/CGImageをNSImageに変換する]] | * [[Xamarin.Mac/CGImageをNSImageに変換する]] | ||
==参考文献== | ==参考文献== | ||