Сжатие изображений

Сжатие и очистка картинок к определенному размеру и разрешению.

Поводом к созданию обработки послужила невозможность вывести прайс-лист с картинками в УТ 10.3. Полный прайс-лист занимал — 0.5 Гб. По почте не отправить. Да и не на всякой машине сохранить в Excel. Вываливалась 1С.

  1. Происходит перебор основных изображений номенклатуры, сравнение с установленной границей размера (в моем случае — больше 100 Кб), и запись в фиксированный каталог «c:!!!in» с именем кода номенклатуры
  2. Первоначальное сжатие происходит с помощью http://www.imagemagick.org (бесплатной компоненты), в моем случае сжатие до размера 350×450 72dpi. Полученное изображение записывается в фиксированный каталог c:!!!out
  3. Затем производится чистка изображения JPG Cleaner 95 v2.6 в каталоге c:!!!out
  4. Изображение перезаписывается в Основное изображение номенклатуры.

P.S. Обработка не претендует на универсальность, а просто демонстрирует работу 1С с несвойственной пакету внешними (бесплатными) компонентами обработки изображений. В моем случае 340 изображений сжались на 93%. Всего изображений в БД 4500, но при попытке сжать все изображения (объем которых меньше 100 Кб) — эффект обратный — изображения незначительно, но увеличивают в объеме! Теперь полный прайс-лист весит 54 МБ.

8 Comments

  1. bexpert

    Сжатие и очистка картинок к определенному размеру и разрешению.

    Перейти к публикации

    Reply
  2. salexdv

    Попробуйте вот это

    Reply
  3. dumal

    В линухах пользуюсь imagemagick уже давно, но как-то не мог подумать, что ей можно найти и такое применение 🙂

    Reply
  4. pomestnik

    Хорошая идея использовать IM ! У меня товарищи грузили по 20 мб картинки в базу…

    Reply
  5. amatoravg

    У меня чот не взлетело… IM заработал только после установки с дистриба, который скачал с офсайта, да и то, только из командной строки. Из под 1с нивкакую.

    Зато аналогичное решение от http://www.rw-designer.com/photo-resizer-advanced

    заработало сходу. Получилось что то типа такого:

    ЗапуститьПриложение(«D:Ero!!!PhotoResize.exe -o -w600 » + ИмяФайла,,Истина,Результат);

    Reply
  6. Denis_CFO

    (5)

    D:Ero!!!PhotoResize.exe

    а может не надо в этой папке ничего сжимать? 🙂

    Reply
  7. yxo

    только Основное изображение сжимается? Другие нет?

    Reply
  8. bexpert

    (7) Видимо, да. Давно дело было. Думаю, переписать на все изображения из хранилища не трудно.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *