2009-10-29 17 views
6

Yavaş bir bağlantım var, bir PNG görüntüsü göndermem gerekiyor (bayt akışı olarak) ve görüntünün hemen görüntülenmesini sağla. Bayt [] 'ı kabul eden, bir bellek akışına yükleyen ve bundan bir System.Drawing.Image/Bitmap nesnesi yaratan bir C# WinForms uygulaması var.Tüm veriler alınmadan önce taramalı bir PNG göstermeye nasıl başlayabilirim?

Yapmak istediğim, süper düşük çözünürlüklü bir görüntüyü aşağıya gönderir ve ardından, veriler alındıkça daha net hale gelmesi için aşamalı olarak günceller. PNG, istediğimi yapan taramalı görüntüleri destekliyor gibi görünüyor.

Tüm veriler alınmadan önce PNG'yi göstermeye başlamak mümkün mü ve geri kalanı içeri girdiğinde daha net hale getirmek mümkün mü? Bunu nasıl yapabilirim?

cevap

2

Baytları, Adam7 algorithm ile uyumlu olacak şekilde dağıtmanız gerekir. Muhtemelen 3. parti bir kütüphane, byte'ları zor işten çıkaracak şekilde dağıtan Googled olabilir.

Burada yapmanın ne olduğunu visual example bulabilirsiniz.

Düzenleme: LibPNG for Windows might be a start. Tabii ki DLL dosyası, .NET programınızın yönetilmeyen kodlar ve MSIL olmayan montajlar ile etkileşime girmesini gerektirecektir ve bu da stackoverflow üzerinde başka bir yerde gönderdiğim başka bir hikaye olabilir - ya da özellikle bunun için başka bir soru yaratabilirsiniz. LibPNG açık kaynak kodlu bir projedir, bu yüzden kaynak koduna bakmak C#/NET'te yeniden yazılabilen Adam7 algoritması hakkında bilgi sağlayabilir.

+0

Teşekkürler, ben daha * otomatik * bir çözüm umuyordum, sanırım orada bir tane yok :( – NotDan

+0

Bende.Kolayca kolayca uygulanabilen bir uygulama yoktur garip görünüyor. Belki ilk siz olacaksınız. –

İlgili konular