Как вырезать PCX из файла?

Тема в разделе "WASM.BEGINNERS", создана пользователем Fronder, 30 мар 2007.

  1. Fronder

    Fronder New Member

    Публикаций:
    0
    Регистрация:
    30 мар 2007
    Сообщения:
    1
    Есть файл в котором зашиты *.PCX и не только,хочу вырезать их и заменить своими. Начало картинок я нахожу, а вот как конец никак не пойму. Как я понимаю признака конца картинки нет и надо всю ее раскодировать чтоб до конца добраться. А проще способа нет?
     
  2. nitrotoluol

    nitrotoluol New Member

    Публикаций:
    0
    Регистрация:
    5 сен 2006
    Сообщения:
    848
    хм... В заголовке картинки есть размер ;)
    Тут на сайте есть статья о формате файлов, как раз про PCX
     
  3. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    PCX формат простой:

    Код (Text):
    1. struct PcxHeader {
    2. BYTE Manufacturer; // 10
    3. BYTE Version;
    4. BYTE Encoding; // 1
    5. BYTE BitsPerPixel; // 1/2/4/8
    6. WORD Xmin, Ymin, Xmax, Ymax; // минимальные и максимальные значения X & Y
    7. WORD HDPI, VDPI; // разрешение (точек на дюйм)
    8. BYTE ColorMap[16][3]; // палитра 16 цветов RGB
    9. BYTE Reserved; // 0
    10. BYTE NPlanes; // число цветовых плоскостей
    11. WORD BytesPerLine; // число байт на строку. Всегда четное
    12. WORD PaletteInfo; // 1 - цветной рисунок, 2 - GrayScale
    13. BYTE Dummy[58]; // Нули
    14. };
    За 768 байт до конца лежит вторая расширенная цветовая палитра.

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