ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
19 июля
17219 Топик полностью
тихий (25.11.2004 15:35, просмотров: 1) ответил тихий на можно оттолкнуться от формата PCX - "формат" очень прост. в PCX сохранит кто угодно.
вот пример "утилиты" ;) не пинать - писал когда-то в школе. file_load() это что-то самописное, которое грузило файл в буффер и возвращало размер, зачем? не пинайте - давно писалось. на выходе два файла: 768 байт палитры в одном, чистые данные - в другом. далее какой-либо bin2c "утилиту"
#include       // puts(),printf()
#include       // puts(),printf()
#include "my_lib.h"

int main(int argc, char *argv[])
{
    byte far *buffer_in, far *buffer_out, far *pal;
    word size, i,j,k, width,height;
    byte tmp1,tmp2;
    int file;

    puts("\n Pcx2Dat (c) ...");
    if ( argc<2 ) { puts("   Usage: pcx2dat [pcxfile]"); return 1; }

    buffer_in  = (byte far*)MK_FP( mem_alloc(65335u),0 );
    buffer_out = (byte far*)MK_FP( mem_alloc(65335u),0 );
    pal        = (byte far*)MK_FP( mem_alloc(  768u),0 );

    size   = file_load(buffer_in,argv[1]);
    width  = (buffer_in[ 9] << 8) + buffer_in[ 8];
    height = (buffer_in[11] << 8) + buffer_in[10];

    mem_move( pal, buffer_in + size - 768, 768 );
    for( i=0; i<768; i++ )
        pal[i] = ( pal[i] >> 2 );

    for ( i=127, j=0, k=0; i