2009-10-29 14 views
6

我有一個緩慢的連接,我需要發送一個PNG圖像(作爲字節流),並立即顯示圖像。我有一個C#WinForms應用程序接受byte [],將其加載到內存流中,並從中創建一個System.Drawing.Image/Bitmap對象。如何在接收到所有數據之前開始顯示隔行PNG?

我想要做的是發送一個超低分辨率的圖像,然後逐步更新它,以便它在接收數據時變得更清晰。它看起來像PNG支持交錯的圖像,正是我想要的。

是否有可能在收到所有數據之前開始顯示PNG,並且隨着其餘部分的進入逐漸更清晰地顯示PNG?我怎樣才能做到這一點?

回答

2

您必須以符合Adam7 algorithm的方式傳遞字節。可能是一個第三方庫可以谷歌搜索,提供字節在這樣的方式來解決困難的工作。

這是visual example它會做什麼。

編輯LibPNG for Windows might be a start。當然,它的DLL會要求你的.NET程序與非託管代碼和非MSIL程序集進行交互,這是我確信在另一個stackoverflow上發佈的另一個故事 - 或者你可能會特別爲它創建另一個問題。 LibPNG是一個開源項目,因此查看其源代碼可能會提供有關可以在C#/ .NET中重新編碼的Adam7算法的信息。

+0

謝謝,我希望有更多的*自動*解決方案,我想這裏沒有一個:( – NotDan 2009-11-15 02:42:03

+0

我也是,看起來很奇怪,沒有一個很容易實現Googleable的實現,也許你會成爲第一個。 – 2009-11-15 02:53:48

相關問題