Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Bitmap=>Jpeg без модуля Jpeg соотвтственно. [D7, WinXP]


Страницы:   1 2 3 4 5 6 7

Sub_Black ©   (2006-04-17 11:20:00) 

Ребяты, подскажите возможно ли это, API вроде напрямую с Jpeg не работает. Может быть есть у кого наработки, а-то я пока в тупике.


XProger   (2006-05-09 00:01:00) [81]

DevilDevil,
http://www.google.ru/search?q=OleLoadPictureFile
ole32.dll uses ActiveX


DevilDevil   (2006-05-08 22:17:00) [82]

homm ©   (08.05.06 14:56) [39]
http://kolnmck.ru/files/components/graphics/koljpegobj.zip
DevilDevil уже ей пользется похоже :)

Да, действительно

Результат неплохой: приложение, имеющее возможность перекодировать bmp в jpeg и обратно + иконка(3кб) занимает 113кб. А если сжать ASPack-ом, то - 64,5 кб. Правда, хотелось бы ещё лучше (всё-таки 80кб на jpeg мне кажется много). Может, у кого-то ещё есть варианты?

Sapersky   (08.05.06 10:10) [35]
XProger ©   (18.04.06 12:09) [16]
Используй OleLoadPictureFile и OleSavePictureFile из oleaut32.dll

Подскажите, где достать заголовочные файлы + документацию. Библиотека идёт в поставке с Windows?

Мефисто   (08.05.06 12:41) [37]
antonn ©   (08.05.06 13:59) [38]

Вы когда нибудь пробовали написать стоящее приложение на чистом API? Вы не задумывались, почему талантливые программисты (такие как Владимир Кладов) тратят не один год жизни, чтобы облегчить остальным условия создания компактных приложений? Может настало время перестать демонстрировать свою необразованность...


Sapersky   (2006-05-08 15:27:00) [83]

Опс, забыл :(
А если OleSavePictureFile? Я, правда, ни разу не пользовался...


homm   (2006-05-08 14:56:00) [84]


>  [35] Sapersky   (08.05.06 10:10)

Читай внимательнее:
> Bitmap=>Jpeg без модуля Jpeg соотвтственно.


http://kolnmck.ru/files/components/graphics/koljpegobj.zip
DevilDevil уже ей пользется похоже :)


antonn   (2006-05-08 13:59:00) [85]

Мефисто   (08.05.06 12:41) [37]
да еще и упаковщиками увлекаются...


Мефисто   (2006-05-08 12:41:00) [86]

DevilDevil  ©   (08.05.06 02:54) [34]

Ставить рекорды на уменьшение размера ПО у народа чето никак не пропадает. К чему бы это? Времена DOS уже как вроде прошли...


DVM   (2006-05-08 11:39:00) [87]


> Требовался менее громоздкий модуль, чем в Delphi (менее
> 100кб в экзешнике). Так вот ни IJL, ни GDI+ этому условию
> не удовлетворяют. Кроме того заставляют таскать с собой
> dll

Я без проблем могу написать приложение килобайт на 15-20, которое будет работать с IJL. А dll - недостаток небольшой.


Sapersky   (2006-05-08 10:10:00) [88]

Требовался менее громоздкий модуль, чем в Delphi

Я уже два раза упоминал в этой ветке OleLoadPicture ([20], [30]). И ещё XProger в [16].
Пример с KOL.PBitmap (TinyPictures) здесь:
http://www.homm86.narod.ru
У меня есть c TFastDIB.


DevilDevil   (2006-05-08 02:54:00) [89]

Посмотрел ссылку...
Скорость может быть и большая, но требовалось, насколько я понял, не это...
Требовался менее громоздкий модуль, чем в Delphi (менее 100кб в экзешнике). Так вот ни IJL, ни GDI+ этому условию не удовлетворяют. Кроме того заставляют таскать с собой dll

...Щас начнут писать, что GDIPlus.dll идёт вместе с Виндой... Не стоит


DVM   (2006-05-07 21:48:00) [90]


> null

Положил обратно   http://ipcam.ru/files/ijl.zip
Добавил определение процессора

Все-таки Intel Jpeg Library вне конкуренции. В моих задачах в секунду удается декодировать более 150 jpeg 640*480 на приемлемом процессоре (P4 820 D).
Жаль что непонятно как работать с версией 2.0.


DevilDevil   (2006-05-07 20:49:00) [91]

МАСТЕРА,
ссылка http://www.ipcam.ru/IJL.ZIPне работает!
Скиньте, пожалуйста, кто-гибудь на devil_home@mail.ru ,- в своё время очень интересовался сабжем, купил даже книжку "Методы Сжатия Данных", но жпег описан там очень плохо + реализовывать всё это самостоятельно - жуть!


programania   (2006-05-07 00:00:00) [92]

>Такое ощущение, что каждый немного "подтянул" результаты в сторону любимой библиотеки :)

У меня результат IJL без изменения реестра, с изменением раза в 2 быстрее,
но не нравится мне менять реестр и зависеть от других программ и процессора
и хотя значение CPUKey=6 одинаково действует на Celeron и Atlon64
но ведь все какие есть и будут не проверишь
и IJL не читает jpg типа 32bit CMYK, а GDI+ читает


Sapersky   (2006-05-06 14:55:00) [93]

Такое ощущение, что каждый немного "подтянул" результаты в сторону любимой библиотеки :)
В общем использовать то или другое - дело вкуса...
Добавлю только, что "есть в windows" означает "есть в windows XP". Тогда как сопоставимая по скорости OleLoadPicture работает и в 98. Безо всяких DLL и линкуемых obj.
А что касается IJL ... если уж начали меряться скоростью загрузки фрагментов... так вот, загрузка фрагмента картинки 532 * 336 с отступом 300 * 300... 35 мс (IJL 1.5).
Задать загружаемый прямоугольник можно через TJPEG_PROPERTIES.


programania   (2006-05-06 13:37:00) [94]

Тоже испытал на C2.8  4000*2500 2мб
http://programania.com/test_jpg.zip 2кб

IJL15.DLL                  430 мСек
IJL20.DLL                  650 мСек
GDI+ часть картинки  540 мСек
GDI+ вся                  790 мСек
Delphi Jpeg              1800 мСек

>Sapersky   (06.05.06 13:09) [28]
>А теперь попробуйте убедить меня использовать GDIPlus... :)

Для нее не нужна dll она есть в windows
и в ней есть множество процедур например
качественной трансформации и масштабирования изображений
и не только jpg


Sapersky   (2006-05-06 13:09:00) [95]

Протестировал.
Загрузка jpeg 3072 * 4096 (Cel 2.8):

OleLoadPicture: 1170 мс
GDIPlus: 920 мс
IJL 1.5: 380 мс

А теперь попробуйте убедить меня использовать GDIPlus... :)

но почему-то 1-ый раз долго компилируются в delphi7

Тоже замечал такое с некоторыми своими программами... возможно, заголовки DirectX виноваты.


homm   (2006-05-05 23:23:00) [96]


> Bitmap=>Jpeg без модуля Jpeg соотвтственно.

поиши на http://bonanzas.rinet.ru/да и вообще, смысл писать на API, когда есть KOL - все плюсы RAD и компактный, быстрый exe


programania   (2006-05-05 21:27:00) [97]

3 примера из книги "программирование Win32 API в delphi":
показ кодеков, конвертирование между bmp jpg gif tiff png
изменение сжатия jpg и headers
http://programania.com/gdiplus.zip 160кб
и еще есть другие примеры
но почему-то 1-ый раз долго компилируются в delphi7
а потом все быстро


Sapersky   (2006-05-05 12:05:00) [98]

Про gdiplus.dll кто-нибудь слышал?

Слышали, что памяти много жрёт и тормозит... Самому протестировать пока руки не дошли.
И можно ли через gdiplus грузить jpeg не полностью, а произвольные фрагменты?


Woolen   (2006-05-04 22:31:00) [99]

Товарищи, опомнитесь, у него XP в требованиях. Какие библиотеки? Там вся работа с JPEG встроена ось. Про gdiplus.dll кто-нибудь слышал?


Sapersky   (2006-05-03 16:52:00) [100]

Спасибо.
Посмотрел - вроде принципиальных изменений нет.
Проверил PROCESSOR_TYPE - у 1.5, как и положено, 6, у 2.0 - 0.
Есть подозрение - т.к. IJL теперь входит в состав платной IPP, определение процессора привязали к какой-то из IPP'шных DLL'ок (с динамической загрузкой), а получение через реестр вырезали.
К тому же и тип PROCESSOR_TYPE определён в заголовках ipp ("See ippdefs.h for details").


Страницы:   1 2 3 4 5 6 7

Наверх

Титульная страница Поиск, карта сайта Написать письмо