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
Lepaskan: 2025-01-28 01:06:09
asal
378 orang telah melayarinya

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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 Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan