5.00 / 1 oy

C# Image ve Byte Dizisi (Byte Array) Dönüşümleri

C# programlama dilinde özellikle FTP ile dosya transferleri yaparken sıklıkla dosyaları byte cinsine dönüştürmek ya da byte cinsinden Image sınıfından ürettiğimiz bir nesneye dönüştürmemiz gerekir. Bir diğer olası durum da Stream sınıfı ile çalışıyorsanız ve Stream sınıfından ürettiğiniz bir nesnenin Write metodunu kullanacaksanız. Dolayısıyla Image ile ByteArray arasında sık sık dönüşüm yapmak gerekir.

Image ile byte dizisi arasında dönüşüm yapmanın birden çok yolu bulunmaktadır. Bu yazıda kendi adıma en sık kullandığım MemoryStream örneğini vereceğim.

Image türündeki bir nesneyi byte array'e dönüştürmek için:

public byte[] imgByteArrayDonustur(Image image)
        {
            using (MemoryStream ms = new MemoryStream())
            {
                img.Save(ms, image.RawFormat);
                return ms.ToArray();
         }
}

Şimdi de tam tersi olarak byte array türündeki bir nesneyi image'e dönüştürmek için:

public Image byteArrayImageDonustur(byte[] byteDizisi)
        {
            using (MemoryStream ms = new MemoryStream(byteDizisi))
            {
                return Image.FromStream(ms);
            }
        }

Not: ImageConverter kullanmak isterseniz de şu iki metodu kullanabilirsiniz:

public static byte[] imgByteDonustur(Image rsmGirdi)
        {
            ImageConverter rsmDon = new ImageConverter();
            return (byte[])rsmDon.ConvertTo(rsmGirdi, typeof(byte[]));
        }

 

mbologlu

12.01.2021 09:16

Bu soru henüz yanıtlanmamış.

Bu soruya sadece kayıtlı kullanıcılar yanıt yazabilirler. Yanıt yazmak için lütfen giriş yapınız.

Reitix
C# Image ve Byte Dizisi (Byte Array) Dönüşümleri

İnternet sitemizdeki deneyiminizi iyileştirmek için çerezler kullanıyoruz. Bu siteye giriş yaparak çerez kullanımını kabul etmiş sayılıyorsunuz. Daha fazla bilgi.