Форум: "Media";
Текущий архив: 2007.01.21;
Скачать: [xml.tar.bz2];
ВнизBitmap=>Jpeg без модуля Jpeg соотвтственно. Найти похожие ветки
← →
Sub_Black (2006-04-17 11:20) [0]Ребяты, подскажите возможно ли это, API вроде напрямую с Jpeg не работает. Может быть есть у кого наработки, а-то я пока в тупике.
← →
Brother © (2006-04-17 11:37) [1]НЕ ВОЗМОЖНО! Твой тупик на всегда. Без модуля ниче не выйдет.
:(
← →
Sub_Black (2006-04-17 12:12) [2]Тогда может быть есть варианты? Менее громоздкие модули, например от сторонних разработчиков? Неужели все вот так вот грустно?
← →
Elen © (2006-04-17 12:29) [3]Поищи компоненты вроде ImageGear или Impulse Studio. Они распространяются как ActiveX и их легко встроить в Делфи. Это не настолько громоздкие компоненты
← →
balepa © (2006-04-17 13:08) [4]
> Sub_Black (17.04.06 12:12) [2]
> Тогда может быть есть варианты? Менее громоздкие модули, например от > сторонних разработчиков? Неужели все вот так вот грустно?
Напиши свой
← →
ZzzzZ © (2006-04-17 13:51) [5]XЧерез оли или как ее там.
Где-то видел пример, на асме.
← →
Sub_Black (2006-04-17 14:52) [6]>>Elen Спасибо, порыскаю
>>balepa, Гы :), да вы шутник
>>ZzzzZ Боюсь, что это будет работать не быстро :(
Да, ребят, попутный вопрос, как на API сохранить Bitmap в файл?
← →
Poirot © (2006-04-17 15:02) [7]http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/bitmaps_7zfp.asp
← →
Sub_Black (2006-04-17 15:11) [8]>>Poirot Ок, спасибо!
← →
MBo © (2006-04-17 15:26) [9]>Bitmap=>Jpeg без модуля Jpeg
GDIPlus это умеет
← →
DVM © (2006-04-17 15:27) [10]Intel Jpeg Library - очень хорошая и быстрая библиотека.
← →
Sub_Black (2006-04-17 16:01) [11]>>MBo а можно по подробнее про GDIPlus - а-то я слышал кое что, входит ли он в винду и где интерфейсы модулей взять?
← →
Rouse_ © (2006-04-17 16:04) [12]Jpeg.pas идет в составе дистрибутива (CD:\Info\Extras\Jpeg\) - вытащи оттуда необходимый код и не используй модуль :)
← →
Sub_Black (2006-04-17 16:07) [13]>>DVM сейчас посмотрим на ентого зверя (IJL)
>>Rouse_ тоже идея, но по-моему Delphi включает в файл только те процедуры, которые реально используются, нет разве?
← →
DVM © (2006-04-17 16:14) [14]
> Sub_Black (17.04.06 16:07) [13]
http://www.ipcam.ru/IJL.ZIP - 1.5 и 2.0 версии библиотеки + заголовочные файлы + модуль-пример использования
← →
Sub_Black (2006-04-18 11:36) [15]>>DVM СПАСИБИЩИ!
Спасибо, ребяты всем, очень было приятно получить столько полезных откликов ;)
← →
XProger © (2006-04-18 12:09) [16]Sub_Black, нет ничего невозможного...
Используй OleLoadPictureFile и OleSavePictureFile из oleaut32.dll
← →
Sapersky (2006-05-02 12:19) [17]http://www.ipcam.ru/IJL.ZIP - 1.5 и 2.0 версии библиотеки
Наконец-то протестировал скачанную версию 2.0... и обнаружил, что она медленнее 1.5. Для 1.5 нужно было установить ключ в реестре, чтобы она поняла, с каким процессором имеет дело:
CPUKey:=0;
// determine Pentium, Pentium Pro, Pentium II
if CPUInfo.VendorID="GenuineIntel" then
if CPUInfo.Family=5 then CPUKey:=1 else if CPUInfo.Family=6 then
if CPUInfo.Model > 1 then CPUKey:=4 else CPUKey:=2;
// determine MMX, Pentium III, Pentium 4
if(cfMMX in CPUInfo.Features)and(CPUKey < 3)then CPUKey:=3;
if cfSSE in CPUInfo.Features then CPUKey:=5;
if cfSSE2 in CPUInfo.Features then CPUKey:=6;
RegCreateKeyEx(
HKEY_LOCAL_MACHINE,"SOFTWARE\Intel Corporation\PLSuite\IJLib",0,nil,
REG_OPTION_NON_VOLATILE,KEY_WRITE,nil,Key,@Dummy);
RegSetValueEx(Key,"USECPU",0,REG_DWORD,@CPUKey,4);
RegCloseKey(Key);
(из FastLIB"а - FastFiles.pas).
Возможно, для 2.0 что-то изменилось?
На сайте Intel, т.к. они прекратили разработку IJL как отдельной библиотеки, по этому поводу ничего нет. Или плохо искал?
← →
DVM © (2006-05-03 10:25) [18]
> Sapersky (02.05.06 12:19) [17]
Да, точно, медленнее. Зато в многопоточных приложениях работает стабильнее. Также лучше переваривает поврежденные jpeg-и
> Для 1.5 нужно было установить ключ в реестре, чтобы она
> поняла, с каким процессором имеет дело:
А для Athlon64 не в курсе, что лучше ставить в реестре?
← →
DVM © (2006-05-03 11:07) [19]Сам себе отвечу - для Athlon64 оптимально - 6
← →
Sapersky (2006-05-03 12:34) [20]Зато в многопоточных приложениях работает стабильнее. Также лучше переваривает поврежденные jpeg-и
Сомнительно всё-таки, что Intel ради стабильности специально затормозила свою библиотеку (и с чего тогда размер вырос? я полагал - от увеличения количества оптимизированных под разные процессоры ветвей).
Ещё вдобавок к затормаживанию версия 2.0 отказывается грузить картинки по частям, с указанием Rect (ругается, что invalid jpeg properties).
Это наводит на мысль, что структура JpegProperties изменилась (или её выравнивание?). Так же как и положение/значение ключа в реестре. И что где-то должны существовать обновлённые заголовки... документация какая-нибудь...
А ту скорость, которую мы сейчас имеем с версией 2.0, можно получить и от OleLoadPicture. Безо всяких дополнительных DLL. Правда, с многопоточностью и повреждёнными картинками не тестировал.
← →
DVM © (2006-05-03 14:00) [21]
> Sapersky (03.05.06 12:34) [20]
вот последний заголовочный файл, что удалось найти:
http://www.informsystems.ru/files/ijl.h
1998-2006 стоит
← →
DVM © (2006-05-03 14:08) [22]
> Так же как и положение/значение ключа в реестре.
в реестр новая версия библиотеки не лезет
← →
Sapersky (2006-05-03 16:52) [23]Спасибо.
Посмотрел - вроде принципиальных изменений нет.
Проверил PROCESSOR_TYPE - у 1.5, как и положено, 6, у 2.0 - 0.
Есть подозрение - т.к. IJL теперь входит в состав платной IPP, определение процессора привязали к какой-то из IPP"шных DLL"ок (с динамической загрузкой), а получение через реестр вырезали.
К тому же и тип PROCESSOR_TYPE определён в заголовках ipp ("See ippdefs.h for details").
← →
Woolen © (2006-05-04 22:31) [24]Товарищи, опомнитесь, у него XP в требованиях. Какие библиотеки? Там вся работа с JPEG встроена ось. Про gdiplus.dll кто-нибудь слышал?
← →
Sapersky (2006-05-05 12:05) [25]Про gdiplus.dll кто-нибудь слышал?
Слышали, что памяти много жрёт и тормозит... Самому протестировать пока руки не дошли.
И можно ли через gdiplus грузить jpeg не полностью, а произвольные фрагменты?
← →
programania © (2006-05-05 21:27) [26]3 примера из книги "программирование Win32 API в delphi":
показ кодеков, конвертирование между bmp jpg gif tiff png
изменение сжатия jpg и headers
http://programania.com/gdiplus.zip 160кб
и еще есть другие примеры
но почему-то 1-ый раз долго компилируются в delphi7
а потом все быстро
← →
homm © (2006-05-05 23:23) [27]
> Bitmap=>Jpeg без модуля Jpeg соотвтственно.
поиши на http://bonanzas.rinet.ru/ да и вообще, смысл писать на API, когда есть KOL - все плюсы RAD и компактный, быстрый exe
← →
Sapersky (2006-05-06 13:09) [28]Протестировал.
Загрузка jpeg 3072 * 4096 (Cel 2.8):
OleLoadPicture: 1170 мс
GDIPlus: 920 мс
IJL 1.5: 380 мс
А теперь попробуйте убедить меня использовать GDIPlus... :)
но почему-то 1-ый раз долго компилируются в delphi7
Тоже замечал такое с некоторыми своими программами... возможно, заголовки DirectX виноваты.
← →
programania © (2006-05-06 13:37) [29]Тоже испытал на 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 14:55) [30]Такое ощущение, что каждый немного "подтянул" результаты в сторону любимой библиотеки :)
В общем использовать то или другое - дело вкуса...
Добавлю только, что "есть в windows" означает "есть в windows XP". Тогда как сопоставимая по скорости OleLoadPicture работает и в 98. Безо всяких DLL и линкуемых obj.
А что касается IJL ... если уж начали меряться скоростью загрузки фрагментов... так вот, загрузка фрагмента картинки 532 * 336 с отступом 300 * 300... 35 мс (IJL 1.5).
Задать загружаемый прямоугольник можно через TJPEG_PROPERTIES.
← →
programania © (2006-05-07 00:00) [31]>Такое ощущение, что каждый немного "подтянул" результаты в сторону любимой библиотеки :)
У меня результат IJL без изменения реестра, с изменением раза в 2 быстрее,
но не нравится мне менять реестр и зависеть от других программ и процессора
и хотя значение CPUKey=6 одинаково действует на Celeron и Atlon64
но ведь все какие есть и будут не проверишь
и IJL не читает jpg типа 32bit CMYK, а GDI+ читает
← →
DevilDevil © (2006-05-07 20:49) [32]МАСТЕРА,
ссылка http://www.ipcam.ru/IJL.ZIP не работает!
Скиньте, пожалуйста, кто-гибудь на devil_home@mail.ru ,- в своё время очень интересовался сабжем, купил даже книжку "Методы Сжатия Данных", но жпег описан там очень плохо + реализовывать всё это самостоятельно - жуть!
← →
DVM © (2006-05-07 21:48) [33]
> null
Положил обратно http://ipcam.ru/files/ijl.zip
Добавил определение процессора
Все-таки Intel Jpeg Library вне конкуренции. В моих задачах в секунду удается декодировать более 150 jpeg 640*480 на приемлемом процессоре (P4 820 D).
Жаль что непонятно как работать с версией 2.0.
← →
DevilDevil © (2006-05-08 02:54) [34]Посмотрел ссылку...
Скорость может быть и большая, но требовалось, насколько я понял, не это...
Требовался менее громоздкий модуль, чем в Delphi (менее 100кб в экзешнике). Так вот ни IJL, ни GDI+ этому условию не удовлетворяют. Кроме того заставляют таскать с собой dll
...Щас начнут писать, что GDIPlus.dll идёт вместе с Виндой... Не стоит
← →
Sapersky (2006-05-08 10:10) [35]Требовался менее громоздкий модуль, чем в Delphi
Я уже два раза упоминал в этой ветке OleLoadPicture ([20], [30]). И ещё XProger в [16].
Пример с KOL.PBitmap (TinyPictures) здесь:
http://www.homm86.narod.ru
У меня есть c TFastDIB.
← →
DVM © (2006-05-08 11:39) [36]
> Требовался менее громоздкий модуль, чем в Delphi (менее
> 100кб в экзешнике). Так вот ни IJL, ни GDI+ этому условию
> не удовлетворяют. Кроме того заставляют таскать с собой
> dll
Я без проблем могу написать приложение килобайт на 15-20, которое будет работать с IJL. А dll - недостаток небольшой.
← →
Мефисто (2006-05-08 12:41) [37]DevilDevil © (08.05.06 02:54) [34]
Ставить рекорды на уменьшение размера ПО у народа чето никак не пропадает. К чему бы это? Времена DOS уже как вроде прошли...
← →
antonn © (2006-05-08 13:59) [38]Мефисто (08.05.06 12:41) [37]
да еще и упаковщиками увлекаются...
← →
homm © (2006-05-08 14:56) [39]
> [35] Sapersky (08.05.06 10:10)
Читай внимательнее:
> Bitmap=>Jpeg без модуля Jpeg соотвтственно.
http://kolnmck.ru/files/components/graphics/koljpegobj.zip
DevilDevil уже ей пользется похоже :)
← →
Sapersky (2006-05-08 15:27) [40]Опс, забыл :(
А если OleSavePictureFile? Я, правда, ни разу не пользовался...
Страницы: 1 2 3 4 вся ветка
Форум: "Media";
Текущий архив: 2007.01.21;
Скачать: [xml.tar.bz2];
Память: 0.54 MB
Время: 0.047 c