Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Boleh Mencipta Bitmap daripada Array Byte dalam C#?

Bagaimanakah Saya Boleh Mencipta Bitmap daripada Array Byte dalam C#?

Barbara Streisand
Lepaskan: 2024-12-31 08:48:10
asal
823 orang telah melayarinya

How Can I Create a Bitmap from a Byte Array in C#?

Mencipta Bitmap daripada Byte Array dalam C#

Soalan ini telah ditanya berkali-kali sebelum ini, tetapi berikut ialah jawapan yang komprehensif untuk pemula:

Anda mempunyai imageData tatasusunan bait yang mengandungi data imej dan dimensi yang ditentukan oleh fWidth dan fHeight. Untuk menukar tatasusunan bait ini kepada imej peta bit, ikuti langkah berikut:

  1. Cipta MemoryStream: Untuk bekerja dengan tatasusunan bait sebagai aliran data, cipta MemoryStream menggunakan ruang nama System.IO. Mulakan ia dengan tatasusunan imageData:

    using System.IO;
    
    Bitmap bmp;
    using (var ms = new MemoryStream(imageData))
    {
       // ...
    }
    Salin selepas log masuk
  2. Instantiate a Bitmap: Gunakan lebihan pembina Bitmap(Stream stream) untuk mencipta objek Bitmap daripada MemoryStream. Ini akan memuatkan data imej ke dalam peta bit:

    bmp = new Bitmap(ms);
    Salin selepas log masuk

Kini anda mempunyai Peta Bit bernama bmp yang mengandungi imej yang diwakili oleh tatasusunan bait. Anda boleh memanipulasi lagi atau menyimpan peta bit ini mengikut keperluan.

Nota:

Perlu diingat bahawa menghantar strim kosong atau tidak sah (mis., satu yang mengandungi data bukan imej ) akan membawa kepada ArgumentException dilemparkan. Pastikan data dalam tatasusunan bait mematuhi format imej yang diiktiraf oleh kelas Bitmap (seperti JPEG atau PNG).

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencipta Bitmap daripada Array Byte dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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