Задача:
- Изменить размеры JPG фала до нужного размера
- Применить компрессию к файлу
- Наложить водяной знак
Во вложении exe файл, запускать с ключами:
JPGResize.exe ключ1 ключ2 ключ3 ключ4 ключ5
ключ1 - "имя исходного файла"
ключ2 - "имя файла назначения"
ключ3 - высота новой картинки
ключ4 - ширина новой картинки
ключ5 - "файл с водяным знаком" (png)
Все ключи обязательны!!!
Написано минут за 15.
Размещение водяного знака в нижней части изображения.
Баги могут возникать:
- Если передавать имена файлов с пробелами не в кавычках, в остальном должно работать
- Если передать дробные размеры высоты и ширины
- Если не указан один из ключей
Если будет кому-нибудь полезно, сделаю проверки :)
P.S. При чем здесь 1С? Наверно при том, что реализовать данную штуку пришлось потому, что файлы прикреплены к номенклатуре и сертификатам в 1С
P.S.2 По просьбам трудящихся, в файле JPGResize.zip выложил исходники на Delphi7, если кто-то сделает из нее dll, чтобы она в 1С цеплялась, минимум + гарантирую :)
P.S.3 функционал частично перенесен в //infostart.ru/public/59436/#postform (197 пост)
UPGRADE:
P.S.4 Сделал таки DLL. Пример использования:
ЗагрузитьВнешнююКомпоненту(КаталогИБ()+"ImgResize.dll")
ИМЖ = СоздатьОбъект("AddIn.ImgResize");
ИМЖ.ПережатьФайл("ИсходныйФайл", "КонечныйФайл", Высота, Ширина, "WaterMark.png");
ИМЖ.ConvertFile("ИсходныйФайл", "КонечныйФайл", Высота, Ширина, "WaterMark.png");