Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Menukar System.Drawing.Bitmap kepada WPF BitmapImage?

Bagaimana untuk Menukar System.Drawing.Bitmap kepada WPF BitmapImage?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-28 01:06:09353semak imbas

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

Convert System.Drawing.Bitmap ke WPF Bitmapimage

Tukar System.Drawing.Bitmap yang sedia ada ke WPF Bitmapimage ke format yang serasi untuk menjadikan aplikasi WPF memaparkan imej dengan betul. Kaedah yang berkesan adalah untuk menukar bitmap ke MermoryStream, dan kemudian gunakan kaedah BEARINIT () dan endinit () bitmapimage. Berikut adalah penerangan terperinci mengenai matlamat ini:

Pertama, buat contoh MemoryStream, dan gunakan ImageFormat yang sesuai untuk menyelamatkan System.Drawing.Bitmap ke dalamnya. Dalam contoh ini, kami akan menggunakan PNG:

Seterusnya, tetapkan semula kedudukan MemoryStream ke permulaan untuk memastikan bahawa bitmapimage dapat membaca data imej:
<code class="language-csharp">using(MemoryStream memory = new MemoryStream())
{
    bitmap.Save(memory, ImageFormat.Png);</code>

Sekarang, buat contoh BitMapImage baru dan panggil kaedah permulaannya (). Kaedah ini memulakan bitmapimage dan menyediakannya untuk memuatkan data imej.
<code class="language-csharp">    memory.Position = 0;</code>

Tetapkan Atribut StreamSource BitmapImage ke aliran memori yang dibuat lebih awal. Atribut ini membolehkan BitmapImage membaca data imej dari sungai.
<code class="language-csharp">    BitmapImage bitmapImage = new BitmapImage();
    bitmapImage.BeginInit();</code>

Untuk mengoptimumkan prestasi, tetapkan cacheOption bitmapimage ke bitmapcacheoption.onload. Pilihan ini cache data imej ke dalam memori selepas imej pertama kali dimuatkan, dengan itu meningkatkan prestasi pengesanan berikutnya.
<code class="language-csharp">    bitmapImage.StreamSource = memory;</code>

Akhirnya, hubungi kaedah endinit () bitmapimage untuk menyelesaikan proses pemuatan. Kaedah ini mengesahkan data imej dan menjadikannya tersedia untuk paparan.
<code class="language-csharp">    bitmapImage.CacheOption = BitmapCacheOption.OnLoad;</code>

Dengan mengikuti langkah -langkah ini, anda boleh berjaya menukar System.Drawing.Bitmap ke System.Windows.Media.Imaging.BitMapimage yang boleh digunakan dalam aplikasi WPF.
<code class="language-csharp">    bitmapImage.EndInit();
}</code>

Atas ialah kandungan terperinci Bagaimana untuk Menukar System.Drawing.Bitmap kepada WPF BitmapImage?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn