Как работает алгоритм чтения файла?

Тема в разделе "WASM.A&O", создана пользователем kibernetics, 15 май 2006.

Статус темы:
Закрыта.
  1. kibernetics

    kibernetics New Member

    Публикаций:
    0
    Регистрация:
    25 мар 2006
    Сообщения:
    28
    Адрес:
    Minsk
    Хайтек всем...

    Помогите расковырять алгоритм чтения файла. Библиотека на СИ. Очень нужно. Структура файла очень похожа на растровый файл БМП, но не такой. Написан СОНИ Девелопмент. Либы: http://playstation.at.tut.by/gim2.rar pass: codemaster Есть попытка реализации кода моим другом, но не более. Я в его коде не могу разобраться, но написано толково. И даже работало, но криво. http://playstation.at.tut.by/GimTools.zip Мне нужно сделать вьювер таких файлов. Выручайте плиз. Сами образцы файлов: http://playstation.at.tut.by/gimsample.rar

    Если понадобится еще какая-то инфа - постараюсь уточнить...
     
  2. kibernetics

    kibernetics New Member

    Публикаций:
    0
    Регистрация:
    25 мар 2006
    Сообщения:
    28
    Адрес:
    Minsk
    там есть примерно такой код:

    void copy_8880( void *dst, void *src, int width, int height )

    {

    int pitch = ( width * 3 + 3 ) & ~3 ;

    int pitch2 = ( width * 4 + 15 ) & ~15 ;

    char *sp = (char *)src ;

    char *dp = (char *)dst + pitch2 * ( height - 1 ) ;

    for ( int i = 0 ; i < height ; i ++ ) {

    char *sp2 = sp ;

    char *dp2 = dp ;

    for ( int j = 0 ; j < width ; j ++ ) {

    dp2[ 0 ] = sp2[ 2 ] ;

    dp2[ 1 ] = sp2[ 1 ] ;

    dp2[ 2 ] = sp2[ 0 ] ;

    dp2[ 3 ] = (char)0xff ;

    dp2 += 4 ;

    sp2 += 3 ;

    }

    sp += pitch ;

    dp -= pitch2 ;

    }

    }



    Это преобразование BMP(24 bit) в GIM



    Pitch - ширина BMP выравненая на 4 байта (так положено в этом формате)

    Pitch2 - ширина GIM выравненая на 16 байта (фиг знает зачем так - такой формат)





    sp += pitch ;

    dp -= pitch2 ;



    просто переход на следующую строку ...
     
  3. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    kibernetics

    Дублирование и пост нескольких тем схожей тематики запрещён.
     
Статус темы:
Закрыта.