| imho.ws |
![]() |
|
|
|
# 1 |
|
Junior Member
Регистрация: 27.12.2003
Адрес: не дом и не улица
Сообщения: 80
![]() |
BMP в JPEG исходник
Народ, помогите. Нужно кодировать bmp -> jpeg без применения функция типа Preobrazui_Mne_BMP_v_JPEG_Please или тому подобных, те запрограммировать сам алгоритм преобразования. Внимание вопрос: никто не встречал исходников РАБОТАЮЩИХ программ на C/C++??? Если да то киньте ссылочку.
__________________
И тебя вылечат... |
|
|
|
|
# 2 |
|
Full Member
Регистрация: 16.10.2002
Адрес: ArchLinux, Internet
Сообщения: 557
![]() ![]() ![]() ![]() |
есть такая библиотека - imagemagick. Она конечно огромная, но там есть всё!
|
|
|
|
|
# 3 |
|
Junior Member
Регистрация: 12.09.2004
Сообщения: 106
![]() ![]() |
Может быть не совсем понял вопрос в VC.NET есть класс CImage, который можно использовать для этого. Кроме того вот ещё ссылка на класс
http://codeproject.com/bitmap/cximage.asp достаточно удобный в использовании , кроме того OpenSource |
|
|
|
|
# 5 | |
|
Junior Member
Регистрация: 27.12.2003
Адрес: не дом и не улица
Сообщения: 80
![]() |
Цитата:
__________________
И тебя вылечат... |
|
|
|
|
|
# 6 |
|
Advanced Member
Регистрация: 09.03.2004
Адрес: толстозадая Москва
Сообщения: 498
![]() ![]() ![]() ![]() |
Если шариш в дельфях - можешь глянуть исходники на _www.torry.net - там их навалом - перекинешь просто в Си и усе...
Кстати тут не все так просто - BMP - он же DIB - он разной битности бывает - бывает с картой цветов, а бывает без нее, когда цвета идут триплетами... Собственно чего не понятно то в алгоритмике перекидывания форматов? там же все достаточно несложно - стримами и буферизацией все делается... самый фикус правильно считать БМПшку и правильно ее ужать...
__________________
В нашей стране настаивать на кореньях, черной смородине, лимонных корках - гораздо эффективнее, чем на правах |
|
|
|
|
# 7 | |||
|
Junior Member
Регистрация: 27.12.2003
Адрес: не дом и не улица
Сообщения: 80
![]() |
Цитата:
))))))))))))))))))))))))))))Ну ты и шутник. А что еще должен делать алгоритм кроме этого.Ну считать положим можно стандартными средствами: C ++ Builder'e есть функция такая LoadFromFile Считывает Bitmap (палитру цветов) Цитата:
Цитата:
__________________
И тебя вылечат... |
|||
|
|
|
|
# 8 | |
|
Advanced Member
Регистрация: 09.03.2004
Адрес: толстозадая Москва
Сообщения: 498
![]() ![]() ![]() ![]() |
Цитата:
Твой алгоритм обязан поддерживать все битности ДИБа, а также индексированную таблицу цветов... Просто нужно еще привертеть конвертер... Там примерно следующая ситуация - считывать лучше всего бинарным потоком - если найду спецификацию диба - выложу.... там в хедере есть информация о размере и битности, ДИБ бывает монохромный, т.е. только черно-белый - в этом случае не используется таблица цветов а сканлайнсы записаны в файле (смещение от начала файла тоже в хедере) битами, если цвета индексированные, то в сканлайнсы записываются ссылки на цвета, а таблица считывается отдельно (смещение также в хедере), а если ДИБ обычный то у тебя нет таблицы цветов, т.е. сканлайнсы представлены триплетами BGR - по-моему именно BGR а не RGB... там надо быть аккуратным при чтении с длиной сканлайна, иначе смещение цветов получишь... вот... а когда у тебя будет таблица цветов - надо будет просто перегнать сканлайнсы в трипплеты и избавиться от нее... а потом имея сканлайнсы применить JPEG-говское сжатие параллельно записывая в файл... собственно надо найти описание этих двух форматов... желательно на каком -нибудь девелоперском сайте посвященному графическим редакторам... в нормальной спецификации т.е. стандарте будут тебе куски кода на Си как раз, по крайней мере мне попалась спецификация TIFF как раз с кусками кода по сжатию этого формата ну и для всякой разной лабуды - естественно кода целиком там не будет, зато разберешься как надо работать с файлами напрямую ![]() ПыСы кстати если пишешь на Билдере - то на Торри тебе как раз и дорога там всегда выкладывают компоненты для дельфи и для билдера... фриварные чаще с исходниками...
__________________
В нашей стране настаивать на кореньях, черной смородине, лимонных корках - гораздо эффективнее, чем на правах Последний раз редактировалось /7y3uK; 01.07.2005 в 10:45. |
|
|
|
|
|
# 9 |
|
Member
Регистрация: 20.05.2004
Сообщения: 385
![]() ![]() ![]() ![]() ![]() |
В vb.net(аналогично C#) есть control savefiledialog
Вот пример: http://msdn.microsoft.com/library/de...gcomponent.asp |
|
|