2012-01-20 33 views
33

'a dönüştürme Şu anda, denetlenmemiş bayt dizisinin PNG veya JPEG olarak yüksek performanslı dönüştürülmesini gerektiren bir uygulama üzerinde çalışıyorum. Resim formatı, hızlı olduğu sürece önemli değil.Bayt dizisini PNG/JPG

.NET kitaplıklarını denedim ve performansı çok kötü. Bunun için iyi bir ücretsiz kütüphane önerebilir misiniz?

DÜZENLEME: Daha fazla bilgi için

byte[] bitmap = GetYourImage(); 

using(Image image = Image.FromStream(new MemoryStream(bitmap))) 
{ 
    image.Save("output.jpg", ImageFormat.Jpeg); // Or Png 
} 

Bak here: byte [] Böyle bir şey yapmak mümkün olmalıdır 8bit gri tonlama bitmap

+0

Ne demek istediğiniz belli değil - bu bayt dizisinin başlaması nedir? Daha fazla detay verebilir misiniz? –

+0

Sorunuz tamamen açık değil. Bayt [] 'ın neyi temsil eder? Gerçek görüntünün içeriği mi? JPG/PNG olarak kaydetmek istediğiniz sıkıştırılmamış bir Bitmap mi? – vcsjones

cevap

55

olduğunu.

Umarım bu yardımcı olur.

+1

+1 ... hemen hemen her zamanki gibi yapıyor. Ancak, kullanıcının gereksinimlerine bağlı olarak, dosyaları dosya sistemine kaydetmeye gerek yoktur. –

+0

Mükemmel. Onu seviyorum! Bu _exactly_ benim aradığım şeydi. –

+2

Merhaba, ham resim dönüştürmek için benzer bir şey deniyorum jpeg butgetting * Parametre geçerli değil * istisna. Herhangi bir fikir? byte [] bytes = System.IO.File.ReadAllBytes (@ "C: \ Input.CR2"); kullanarak (Resim görüntüsü = Resim.FromStream (yeni MemoryStream (bytes))) image.Save (@ "C: \ output.jpg", ImageFormat.Jpeg); } ' –

0
+0

Bunun, programlama kitaplığını kullanmak için olduğunu biliyorum, ancak bu durumda aracın komut satırı ne olurdu? – user2284570

+0

@ user2284570 Eğer komut satırında kullanıyorsanız, bir bayt dizisi değil, bir dosyayla çalışıyor olursunuz. Girdinizin PNG olduğunu (PNG imzasını takiben parçalar), daha sonra '' input.png output.jpg '' dönüştürdüğünüzde muhtemelen işe yarayacaktır. – ahoffer

1

Bu soru ile iki sorun vardır: Bir gri skala bit eşlem sahip varsayarsak

, iki dikkate faktörler vardır: JPG için

  1. ... ne kalite kaybı tolere edilebilir ?
  2. Png'ler için ... ne düzeyde sıkıştırma tolere edilebilir? (Gördüğüm pek çok şey için, o kadar çok seçeneğiniz olmasa da, bu seçim göz ardı edilebilir.) Bu soruyu düşünen herkes için mantıklı değil: evet, sıkıştırma miktarını değiştirebilirsiniz. geçiş sayısı sıkıştırmaya teşebbüs edildi; Ifranview ya da bu eklentilerden bazılarını kontrol edin.

Bu soruları yanıtlayın, daha sonra özgün yanıtınızı bulabilirsiniz.

İlgili konular