ホームページ > バックエンド開発 > C++ > system.drawing.bitmapをwpf bitmapimageに変換する方法は?

system.drawing.bitmapをwpf bitmapimageに変換する方法は?

Mary-Kate Olsen
リリース: 2025-01-28 01:06:09
オリジナル
347 人が閲覧しました

How to Convert a System.Drawing.Bitmap to a WPF BitmapImage?

system.drawing.bitmapをwpf bitmapimageに変換します

既存のsystem.drawing.bitmapをwpf bitmapimageに変換して互換性のある形式に変換して、WPFアプリケーションに画像を正しく表示します。効果的な方法は、ビットマップをMermorystreamに変換し、BitMapimageのbegininit()およびendinit()メソッドを使用することです。以下は、この目標の詳細な説明です。

最初に、MemoryStreamインスタンスを作成し、適切なImageFormatを使用してSystem.drawing.bitmapを保存します。この例では、PNG:

を使用します

次に、bitmapimageが画像データを読み取ることができるように、MemoryStreamの位置を最初にリセットします。

<code class="language-csharp">using(MemoryStream memory = new MemoryStream())
{
    bitmap.Save(memory, ImageFormat.Png);</code>
ログイン後にコピー
次に、新しいBitMapImageインスタンスを作成し、そのbeginInit()メソッドを呼び出します。このメソッドは、ビットマピマージを初期化し、画像データをロードするために準備します。

<code class="language-csharp">    memory.Position = 0;</code>
ログイン後にコピー
BitMapimageのStreamSource属性を、以前に作成したメモリフローに設定します。この属性により、BitMapimageはストリームから画像データを読み取ることができます。

<code class="language-csharp">    BitmapImage bitmapImage = new BitmapImage();
    bitmapImage.BeginInit();</code>
ログイン後にコピー
パフォーマンスを最適化するには、BitMapCacheoption.OnloadにBitMapImageのカチョウプションを設定します。このオプションは、画像が最初にロードされた後、画像データをメモリにキャッシュし、それによりその後の検出パフォーマンスが向上します。

<code class="language-csharp">    bitmapImage.StreamSource = memory;</code>
ログイン後にコピー
最後に、bitmapimageのendinit()メソッドを呼び出して、読み込みプロセスを完了します。このメソッドは画像データを検証し、表示できるようにします。

これらの手順に従うことにより、system.drawing.bitmapをsystem.windows.media.imaging.bitmapimageに正常に変換できます。
<code class="language-csharp">    bitmapImage.CacheOption = BitmapCacheOption.OnLoad;</code>
ログイン後にコピー

以上がsystem.drawing.bitmapをwpf bitmapimageに変換する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート