Поводом к созданию обработки послужила невозможность вывести прайс-лист с картинками в УТ 10.3. Полный прайс-лист занимал — 0.5 Гб. По почте не отправить. Да и не на всякой машине сохранить в Excel. Вываливалась 1С.
- Происходит перебор основных изображений номенклатуры, сравнение с установленной границей размера (в моем случае — больше 100 Кб), и запись в фиксированный каталог «c:!!!in» с именем кода номенклатуры
- Первоначальное сжатие происходит с помощью http://www.imagemagick.org (бесплатной компоненты), в моем случае сжатие до размера 350×450 72dpi. Полученное изображение записывается в фиксированный каталог c:!!!out
- Затем производится чистка изображения JPG Cleaner 95 v2.6 в каталоге c:!!!out
- Изображение перезаписывается в Основное изображение номенклатуры.
P.S. Обработка не претендует на универсальность, а просто демонстрирует работу 1С с несвойственной пакету внешними (бесплатными) компонентами обработки изображений. В моем случае 340 изображений сжались на 93%. Всего изображений в БД 4500, но при попытке сжать все изображения (объем которых меньше 100 Кб) — эффект обратный — изображения незначительно, но увеличивают в объеме! Теперь полный прайс-лист весит 54 МБ.
Сжатие и очистка картинок к определенному размеру и разрешению.
Перейти к публикации
Попробуйте вотэто
В линухах пользуюсь imagemagick уже давно, но как-то не мог подумать, что ей можно найти и такое применение 🙂
Хорошая идея использовать IM ! У меня товарищи грузили по 20 мб картинки в базу…
У меня чот не взлетело… IM заработал только после установки с дистриба, который скачал с офсайта, да и то, только из командной строки. Из под 1с нивкакую.
Зато аналогичное решение отhttp://www.rw-designer.com/photo-resizer-advanced
заработало сходу. Получилось что то типа такого:
ЗапуститьПриложение(«D:Ero!!!PhotoResize.exe -o -w600 » + ИмяФайла,,Истина,Результат);
(5)
а может не надо в этой папке ничего сжимать? 🙂
только Основное изображение сжимается? Другие нет?
(7) Видимо, да. Давно дело было. Думаю, переписать на все изображения из хранилища не трудно.