IMHO.WS

IMHO.WS (https://www.imho.ws/index.php)
-   Программирование (https://www.imho.ws/forumdisplay.php?f=40)
-   -   BMP в JPEG исходник (https://www.imho.ws/showthread.php?t=87647)

wk-cof 15.06.2005 21:29

BMP в JPEG исходник
 
Народ, помогите. Нужно кодировать bmp -> jpeg без применения функция типа Preobrazui_Mne_BMP_v_JPEG_Please или тому подобных, те запрограммировать сам алгоритм преобразования. Внимание вопрос: никто не встречал исходников РАБОТАЮЩИХ программ на C/C++??? Если да то киньте ссылочку.

Drakosha 16.06.2005 00:26

есть такая библиотека - imagemagick. Она конечно огромная, но там есть всё!

knight 17.06.2005 02:19

Может быть не совсем понял вопрос в VC.NET есть класс CImage, который можно использовать для этого. Кроме того вот ещё ссылка на класс
http://codeproject.com/bitmap/cximage.asp
достаточно удобный в использовании , кроме того OpenSource

Scary Zet 17.06.2005 21:27

Про алгоритм сжатия jpeg написано тут и тут

wk-cof 27.06.2005 02:27

Цитата:

Про алгоритм сжатия jpeg написано тут и тут
Ну да, а еще тут,тут ,тут и вот тут. А толку... Везде одно и то же и непонятно ничего. Я как раз и просил работающую прогу по этим алгоритмам. Просьб остается в силе.

/7y3uK 27.06.2005 10:46

Если шариш в дельфях - можешь глянуть исходники на _www.torry.net - там их навалом - перекинешь просто в Си и усе...
Кстати тут не все так просто - BMP - он же DIB - он разной битности бывает - бывает с картой цветов, а бывает без нее, когда цвета идут триплетами... Собственно чего не понятно то в алгоритмике перекидывания форматов? там же все достаточно несложно - стримами и буферизацией все делается... самый фикус правильно считать БМПшку и правильно ее ужать...

wk-cof 30.06.2005 11:22

Цитата:

самый фикус правильно считать БМПшку и правильно ее ужать
:)))))))))))))))))))))))))))))
Ну ты и шутник. :) А что еще должен делать алгоритм кроме этого.
Ну считать положим можно стандартными средствами:
C ++ Builder'e есть функция такая LoadFromFile
Считывает Bitmap (палитру цветов)
Цитата:

Кстати тут не все так просто - BMP - он же DIB - он разной битности бывает
Нам нужен только 8 битный цвет, т.к. JPEG сжатие работает только с ним.
Цитата:

Если шариш в дельфях
Нет, не шарю. ;(

/7y3uK 01.07.2005 10:42

Цитата:

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

ПыСы
кстати если пишешь на Билдере - то на Торри тебе как раз и дорога :) там всегда выкладывают компоненты для дельфи и для билдера... фриварные чаще с исходниками...

UriF 21.08.2005 07:55

В vb.net(аналогично C#) есть control savefiledialog

Вот пример:

http://msdn.microsoft.com/library/de...gcomponent.asp


Часовой пояс GMT +4, время: 22:43.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.