2011-01-21 28 views
2

我一直在嘗試創建一個解碼器,它將通過pcx文件進行流式處理並將其作爲位圖顯示在屏幕上。我已經設法通過使用二進制閱讀器從圖像頭部獲取信息,但是現在我已經達到似乎佔用最少代碼量的部分,但也是最難的:創建像素數組。在c#中解碼PCX圖像以顯示爲位圖

據我所知,我可能需要添加兩個embeddded for循環來處理數據。我看過一些C和C++的例子,但很難理解它們。我也需要讓數組顯示它。如果你需要更多的代碼,那麼我會分享它。

我已經搜索了很多,並閱讀規範,但我不知道如何解決這個問題。如果有人能幫助我,我會非常感激。

問候。

+0

你想讀什麼樣的PCX文件?一切,或者你能跳過飛機/調色板?抽象的案例並不難。創建一個Color [,]數組來保存實際的像素數據,然後遍歷循環遍歷列的行以加載單獨的平面/像素。 – ChrisV

+6

我以爲隕石消滅恐龍後,所有的PCX文件都消失了。 – detunized

+0

我不介意只有8位圖像,我不確定調色板是否必不可少。你的方法可以用於其他格式嗎? – jbroun

回答

0

.NET本身不支持PCX圖像,您有兩種選擇。閱讀規範並自行解碼圖像或使用某個庫。

bytes.com建議你可以使用Dot Net Fireball(一Free Image包裝)並裝載這樣的形象:

Fireball.Drawing.FreeImage freeImage = new FreeImage(@"c:\test.pcx"); 
Image image = freeImage.GetBitmap(); 
相關問題