Декодирование изображения PCX в C# для отображения в виде растрового изображения

Я пытался создать декодер, который будет передавать через файл pcx и отображать его на экране в виде растрового изображения. Мне удалось получить информацию из заголовка изображения с помощью бинарного ридера, но теперь я достиг той части, которая, кажется, занимает наименьшее количество кода, но также является самой сложной: создание массива пикселей.

Я понимаю, что мне может понадобиться добавить два встроенных for циклы для обработки данных. Я посмотрел на некоторые примеры C и C++, но изо всех сил пытаюсь понять их. Мне также нужно получить массив для его отображения. если вам нужно больше кода, я поделюсь им.

Я искал повсюду и читал спецификации, но я не знаю, как к этому подойти. Если бы кто-нибудь мог мне помочь, я был бы очень благодарен.

С уважением.

2 ответа

.NET изначально не поддерживает изображения PCX, у вас есть два варианта. Прочитайте спецификацию и расшифруйте изображение самостоятельно или используйте некоторую библиотеку.

Как указано на сайте bytes.com, вы можете использовать Dot Net Fireball (обертка Free Image) и загрузить изображение следующим образом:

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

http://magick.codeplex.com/

хороший упаковщик, работающий с http://imagemagick.codeplex.com/

простота установки и запуска, см. примеры внизу страницы здесь: http://magick.codeplex.com/documentation

Другие вопросы по тегам