Сжатие и обрезка картинок хранилища
Функционал реализован с использованием компоненты GFLAx
Скачано тут и хорошо переработано.
Инсталлятор необходимых компонент внутри обработки и запускается по кнопке.
—-
Отличия от оригинала:
- Наличие инсталлятора компоненты
- насильное сохранение в JPG в независимости от текущего формата хранимой картинки
- возможность отказаться от увеличения размера файла
- возможность изменить DPI — хорошо влияет на размер
- возможноть уменьшить разрешение — тоже хорошо влияет на размер
- возможность обработать картинку с ручным выбором
Размер картинки определяется по бОльшей стороне и обрезается только, если один из размеров превышает указанный в настройках.
На windows vista и выше это можно делать и без компонент.
(1) it@contlog.ru,
Это хорошо. Но пока ещё не у всех ВИСТА и выше.
Многие и компоненты пишут на C#, а потом, чтобы запустить обработку, надо ставить фреймворк.
Стараюсь писать на С++ или так, чтобы работало с минимальными затратами.
После обработки в УТ 10.3, не открывается номенклатура: выходит ошибка:
Проблема в том, что в «хранилище» должно быть значение типа «Картинка», а не «ДвоичныеДанные».
Нужно заменить в процедуре:
стр.119:
на
и ошибки не будет.
Если уже успели сделать обработку и все испортили, то можно сделать повторную обработку (с исправлениями), но без флага «Не принимать увеличение размера», и с размером превышения 1байт либо минимальным из полученных предыдущей обработкой. Можно также написать простую обработку получения значения хранилища, замены типа, и записи значения — проблема же только в типе данных.
В хранилище могут быть и, допустим, XLS файлы, потому там всегда были двоичные данные.
Возможно в УТ изменили нормальную логику вещей, подправьте — код открыт же.