「Xamarin.Mac/System.Drawing.ImageをNSImageに変換する」を編集中

ナビゲーションに移動 検索に移動

警告: ログインしていません。編集を行うと、あなたの IP アドレスが公開されます。ログインまたはアカウントを作成すれば、あなたの編集はその利用者名とともに表示されるほか、その他の利点もあります。

この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。

最新版 編集中の文章
1行目: 1行目:
Xamarin.MacにおいてSystem.Drawing.ImageをAppKit.NSImageに変換する方法を試行錯誤している。
+
[[MonoMac]]においてSystem.Drawing.ImageをMonoMac.AppKit.NSImageに変換する方法を試行錯誤している。
 
 
== 方法1 ==
 
NSImageは[[ファイル]]からのインスタンス生成はできるようだが、byte[]などのメモリ上の[[データ]]からのインスタンス生成はできない。
 
そこでCoreGraphicsのCGImageを経由して変換を行う。大雑把には以下のような手順をとった。
 
# ImageをMemoryStreamに保存
 
# MemoryStreamからCGImageを生成
 
# CGImageをNSImageに変換
 
  
 +
==方法1==
 +
NSImageはファイルからのインスタンス生成はできるようだが、byte[]などのメモリ上のデータからのインスタンス生成はできない。
 +
そこでMonoMac.CoreGraphicsのCGImageを経由して変換を行う。
 
<source lang="csharp">
 
<source lang="csharp">
 
     using System;
 
     using System;
13行目: 9行目:
 
     using System.Drawing.Imaging;
 
     using System.Drawing.Imaging;
 
     using System.IO;
 
     using System.IO;
     using Foundation;
+
     using MonoMac.Foundation;
     using AppKit;
+
     using MonoMac.AppKit;
     using CoreGraphics;
+
     using MonoMac.CoreGraphics;
  
     public static class NSImageExtensions
+
     public static class NSImageExtentions
 
     {
 
     {
 
         public static NSImage ToNSImage(this Image image)  
 
         public static NSImage ToNSImage(this Image image)  
47行目: 43行目:
 
</source>
 
</source>
  
System.Drawing.ImageからのNSImageへの変換はともかく、byte[]からNSImageインスタンスの生成は、[[プログラム]]中で[[ウェブ]]などから[[ファイル]]を落としてきて表示するようなアプリの場合にはほぼ登場する手法になると思われる。
+
System.Drawing.ImageからのNSImageへの変換はともかく、byte[]からNSImageインスタンスの生成は、[[プログラム]]中で[[ウェブ]]などから[[ファイル]]を落としてきて表示するようなアプリの場合には、ほぼ登場する手法になると思われる。
  
== 関連項目 ==
+
==関連項目==
* [[Xamarin.Mac]]
+
*[[MonoMac]]
* [[Xamarin.Mac/NSImageをSystem.Drawing.Imageに変換する]]
+
*[[MonoMac/NSImageをSystem.Drawing.Imageに変換する]]
* [[Xamarin.Mac/NSImageをファイルに保存する]]
+
*[[MonoMac/NSImageをファイルに保存する]]
* [[Xamarin.Mac/CGImageをNSImageに変換する]]
+
*[[Xamarin.Mac/CGImageをNSImageに変換する]]
  
 
==参考文献==
 
==参考文献==
59行目: 55行目:
  
 
{{stub}}
 
{{stub}}
 
[[category: Xamarin.Mac]]
 
[[category: MonoMac]]
 

MonoBookへの投稿はすべて、他の投稿者によって編集、変更、除去される場合があります。 自分が書いたものが他の人に容赦なく編集されるのを望まない場合は、ここに投稿しないでください。
また、投稿するのは、自分で書いたものか、パブリック ドメインまたはそれに類するフリーな資料からの複製であることを約束してください(詳細はMonoBook:著作権を参照)。 著作権保護されている作品は、許諾なしに投稿しないでください!

このページを編集するには、下記の確認用の質問に回答してください (詳細):

取り消し 編集の仕方 (新しいウィンドウで開きます)

このページで使用されているテンプレート:

このページは 1 個の隠しカテゴリに属しています: