2011-01-21 24 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(); 
相关问题