|
|
|
| Насколько я понимаю, функция imagecreate...() так и не "научилась" работать с этим форматом и единственный вариант - это unpack() и читать попиксельно.
Может быть, уже кто-то нашел менее ресурсоемкое решение?
Подобный вопрос уже звучал, но ответа я так и не нашла :( | |
|
|
|
|
|
|
|
для: Женский человек
(12.11.2009 в 14:54)
| | А зечем этот формат? Может использовать WBMP (imagecreatefromwbmp), если уж такая крайность в нем. | |
|
|
|
|
|
|
|
для: sim5
(12.11.2009 в 15:33)
| | Ну Вы же понимаете, что это разные форматы и если исходное изображение *.bmp - то imagecreatefromwbmp() здесь бессильна.
>А зечем этот формат?
В данном случае, я хочу конвертировать BMP в JPG | |
|
|
|
|
|
|
|
для: Женский человек
(12.11.2009 в 15:57)
| | в смысле как?
Windows BitMap и .BMP - разные форматы? | |
|
|
|
|
|
|
|
для: Trianon
(12.11.2009 в 16:04)
| | GD не поддерживает Windows BitMap. Функция imagecreatefromwbmp() работает с Wireless BitMap форматом. | |
|
|
|
|
|
|
|
для: Drago
(12.11.2009 в 16:12)
| | Я и формата-то такого не знал... | |
|
|
|
|
|
|
|
для: Trianon
(12.11.2009 в 16:04)
| | Это не Windows BMP, а WirelessBitMap для мобильных устройств. | |
|
|
|
|
|
|
|
для: sim5
(12.11.2009 в 16:15)
| | Trianon, угу, разные :(
sim5, php - это мое хобби, о "боевом" сервере речь не идет. То, что я пишу, я использую, так сказать, в личных целях. В данном случае, на почту к папе (он художник) часто приходят отсканированные копии изображений именно в этом формате (я уже молчу, что весят эти копии по 20-30 метров). Объяснить отправителям, как сжимать и в каком формате, намного сложнее, чем написать нужную функцию :) Я эти картинки собираю в домашнюю галерею и, конечно, нужна маленькая копия для предварительного просмотра. Да, и оригинал такой тяжелый ни к чему. Собственно, вот откуда и задача. | |
|
|
|
|
|
|
|
для: Женский человек
(12.11.2009 в 16:38)
| | Сорри, но GD не работает с ВМР форматом, да и правильно. Объяснить, кстати, человеку не так сложно, и бесплатных сервисов для такой конвертации предостаточно, например, хотя бы та же Picasa. Есть утилита небольшая, которая в пакетном режиме может преобразовывать параметры фото в папке. Ну разве так трудно рассказать на странице, что и как сделать? Ей богу, сейчас сложнее в функциях мобильника разобраться, чем в приложении для компьютера, однако никого же это не пугает - пользуются ими :)
Если так невмоготу - Си, и писать свое, если только кем либо уже не написано такое. | |
|
|
|
|
 1 Кб |
|
|
для: sim5
(12.11.2009 в 16:48)
| | Лениво использовать утилиты (win-приложения) :-[ В противном случае, даже Paint'а было бы вполне достаточно. А по поводу "рассказать" - кто хотел, сам все давно узнал, остальным не объяснишь. "Страницы" тоже нет. Файлы приходят по электронной почте. The Bat их послушно сохраняет в нужную папку, а оттуда они уже обрабатываются скриптом. Нужная функция в аттаче(может, пригодится еще кому-то), написана каким-то немецким программистом, извините, не записала автора, и ей уже года 2, как минимум. Просто надеялась, что наши придумали уже что-то лучше/оптимальнее :)) | |
|
|
|
|
|
|
|
для: Женский человек
(12.11.2009 в 17:15)
| | Ну эта функция разбирает заголовок ВМР файла только. Таким образом можно потом создать файл из строки, и конвертировать в JPG. Но боже мой, это ведь какие размеры могут быть, GD скорее всего взмолится на нехватку памяти. | |
|
|
|
|
|
|
|
для: sim5
(12.11.2009 в 17:25)
| | >Таким образом можно потом создать файл из строки, и конвертировать в JPG.
:-[ именно так я и делаю
>Но боже мой, это ведь какие размеры могут быть
из 25-метрового bmp получается 2-х метровый jpg (если не уменьшать) без потери качества
>GD скорее всего взмолится на нехватку памяти
я ж на локалке, даю столько, сколько просит :) но, читая сильных форума сего ;) становится стыдно за такое разгильдяйство и расточительство :)) | |
|
|
|
|
|
|
|
для: Женский человек
(12.11.2009 в 17:40)
| | >из 25-метрового bmp получается 2-х метровый jpg
Я не об этой памяти, а о той которая потребуется GD для обработки ресурса, а это не метры, а кучи МГБ потребуются. Вот тут и могут возникнуть проблемы.
Если вы делаете на локалке, то нафик нужен вообще РНР - простой утилиты хватит, которой указав папку и параметры, идти спокойно пить кофе, она же без проблем все сама сделает, бысто и качествоенно. Ох и любим мы создавать для себя проблемы :)
Кстати, откройте Фотошоп, загрузите любое ВМР изображение. Включите запись скрипта, преобразуйте формат изображения, и запишите его. Остановите запись скрипта. Теперь вы можете запустить этот скрипт, применив его действие к папке с ВМР файлами - фотошоп их качественно отконвертирует. Если нужнно при этом и уменьшить их (для эскизов), то уменьшайте (процентно) во время записи скрипта, он и уменьшит. | |
|
|
|
|
|
|
|
для: sim5
(12.11.2009 в 17:51)
| | >Я не об этой памяти
а.. ну тогда - на каждый пиксель уходит 5 байт (Trianon в какой-то теме об изображениях писал, кажется)
>нафик нужен вообще РНР .... Ох и любим мы создавать для себя проблемы :)
Действие 1. Настроить.
Действие 2. Запустить.
Действие 3. После обработки утилитой - запустить php-скрипт, который изменит название файла в соответствии с записью о нем в БД и т.д. ("Домашняя галерея" - это тот же фотоальбом, только там не фото, а отсканированные рисунки. Начиная с "наброски" и заканчивая "картина")
На PHP:
Действие 1. Настроить (почтовый клиент при получении сохраняет, а крон регулярно проверяет и запускает скрипт обработки). Кофе пьем бесконечно и грызем "гранит" php дальше :))
>Кстати, откройте Фотошоп...
Вы макрос имеете ввиду, да? :)) К слову, фотошоп, выполняя подобную задачу, кушает гораздо больше ресурсов (не замеряла, но видно невооруженным глазом).
Я уже с ImageMagick разбираюсь. Если справлюсь сама - покажу решение. | |
|
|
|
|
|
|
|
для: Женский человек
(12.11.2009 в 18:38)
| | Ой, Фотошоп память кушает :) А РНР обрабатывая ВМР монстров будет довольствоваться так себе, килобайтом? :)
Да, я макрос имел ввиду. Кстати, маскросы, bat файлы, команды и прочее, на локалной машине, это намного лучше, чем пых, да и задачу поставить можно, тот же крон есть и для Windows. ;-)
РНР для сервера, а клиентские ПО есть на любой вкус, работают лучше и быстрее, имея ввиду качество. Не знаю как ImageMagick , но ему до качества обработки фото в Фотошопе, как пехом до Берлина, и в этом я не сомневаюсь. )
PS. Настраивать ничего не надо, действие однократное, и навсегда. | |
|
|
|
|
|
|
|
для: sim5
(12.11.2009 в 18:43)
| | Уговорили :) Попробую и так, и так. Кто победит - тот и будет жить :))
Спасибо. | |
|
|
|
|
|
|
|
для: Женский человек
(12.11.2009 в 18:52)
| | Победит спорт ;-) | |
|
|
|
|
|
|
|
для: sim5
(12.11.2009 в 18:43)
| | сколько денверов весит один фотошоп?
Я не спрашиваю сколько их же он стоит. | |
|
|
|
|
|
|
|
для: Trianon
(12.11.2009 в 21:10)
| | У леди папа художник, вполне логично предположить, что фотошопом она все таки балуется, каким, это уже другой вопрос (этики) ;-)
Это первое. Второе, дело не в весе Денвера или чего-то иного, а в том, что РНР для РНР, а уж приложения для ОС это нечто иное, и то, что человек привык работать на РНР, совсем не означает делать на нем буквально все. Все таки РНР с его, даже пусть более крутыми библиотеками, чем GD, это все таки так, примочка, не более того. Тем более, что и не требуется ни сервера для "на лету", ничего, все на локалке, зачем тогда изобретать велосипед, если есть гораздо более профессиональные инструменты? | |
|
|
|
|
|
|
|
для: Женский человек
(12.11.2009 в 16:38)
| | Есть пакетные средства для работы с изображениями.
Пакетные - не только в смысле массовой обработки, но и в плане запуска с передачей параметров по командной строке.
Насколько я понимаю ImageMagick - одно из них. Раньше врое еще Image Alchemy было.
Натравить php-скриптом одну из таких утилит на файл - дело куда более стоящее, чем попиксельная конвертация. | |
|
|
|
|
|
|
|
для: Trianon
(12.11.2009 в 17:20)
| | О! Спасибо за наводку. Попробую разобраться. | |
|
|
|
|
|
|
|
для: Женский человек
(12.11.2009 в 15:57)
| | А может забросить эту затею? BMP ведь несжатый формат, представляете каких монстров вам будут закидывать - сервер ляжет при нехватке памяти :) | |
|
|
|