Цитата:
wk-cof:
Нам нужен только 8 битный цвет, т.к. JPEG сжатие работает только с ним.
|
Ну тут ты не совсем прав :) Твой алгоритм обязан поддерживать все битности ДИБа, а также индексированную таблицу цветов... Просто нужно еще привертеть конвертер... Там примерно следующая ситуация - считывать лучше всего бинарным потоком - если найду спецификацию диба - выложу.... там в хедере есть информация о размере и битности, ДИБ бывает монохромный, т.е. только черно-белый - в этом случае не используется таблица цветов а сканлайнсы записаны в файле (смещение от начала файла тоже в хедере) битами, если цвета индексированные, то в сканлайнсы записываются ссылки на цвета, а таблица считывается отдельно (смещение также в хедере), а если ДИБ обычный :) то у тебя нет таблицы цветов, т.е. сканлайнсы представлены триплетами BGR - по-моему именно BGR а не RGB... там надо быть аккуратным при чтении с длиной сканлайна, иначе смещение цветов получишь... вот... а когда у тебя будет таблица цветов - надо будет просто перегнать сканлайнсы в трипплеты и избавиться от нее... а потом имея сканлайнсы применить JPEG-говское сжатие параллельно записывая в файл... собственно надо найти описание этих двух форматов... желательно на каком -нибудь девелоперском сайте посвященному графическим редакторам... в нормальной спецификации т.е. стандарте будут тебе куски кода на Си как раз, по крайней мере мне попалась спецификация TIFF как раз с кусками кода по сжатию этого формата ну и для всякой разной лабуды - естественно кода целиком там не будет, зато разберешься как надо работать с файлами напрямую :)
ПыСы
кстати если пишешь на Билдере - то на Торри тебе как раз и дорога :) там всегда выкладывают компоненты для дельфи и для билдера... фриварные чаще с исходниками...
|