|
Компонента для ресайза картинок | ☑ | ||
---|---|---|---|---|
0
НичегоНе Понятно
17.09.19
✎
06:08
|
Всем привет! Ищу компоненту для ресайза картинок. На инфостарте только платные. Нашел одну бесплатную, http://catalog.mista.ru/public/73112/ но автор по какой-то причине предполагает, что надо обязательно накладывать водяной знак. Может, есть еще варианты? Возиться сзапуском имиджмеджика из командной строки, не очень хочется, потому, что не всегда есть возможность запускать файлы(ограничения политики безопасности).
|
|||
1
ads55
17.09.19
✎
06:22
|
а что, компонента это не запуск файла, или я чего-то не понимаю?
тот же irfan viewer умеет, даже пакетное преобразование из командной строки. |
|||
2
НичегоНе Понятно
17.09.19
✎
06:34
|
(1) Компонента, это выполнение команд которые представляет dll. То есть код выполняется, никакой exe запускать не надо. Что может быть проблемой. Еще большей проблемой может быть установка у клиента какого нибудь irfan viewer. Надо отдать клиенту обработку, он ее зарегистрировал в дополнительных обработках и все работает.
|
|||
3
craxx
17.09.19
✎
07:31
|
(0) Не благодари:
Функция ПолучитьХранилищеЗначенийМиниатюры(ИмяФайла,МаксимальнаяШирина=92,МаксимальнаяВысота=92) Ф = Новый Файл(ИмяФайла); Имя1 = ПолучитьИмяВременногоФайла(Ф.Расширение); objImageFile = Новый COMОбъект("WIA.ImageFile");//objImageFile objImageProcess = Новый COMОбъект("WIA.ImageProcess"); objImageFile.LoadFile(ИмяФайла); //блок чисто инфу выводит, можно удалить+ //Сообщить("Width "+objImageFile.Width); //Сообщить("Height "+objImageFile.Height); //Сообщить("PixelDepth "+objImageFile.PixelDepth); //Сообщить("HorizontalResolution "+objImageFile.HorizontalResolution); //Сообщить("VerticalResolution "+objImageFile.VerticalResolution); //Сообщить("FrameCount "+objImageFile.FrameCount); //Если objImageFile.IsAnimated Тогда // Сообщить("Анимированная"); //Иначе // Сообщить("НЕ Анимированная"); //КонецЕсли; //блок чисто инфу выводит, можно удалить- objImageProcess.Filters.Add(objImageProcess.FilterInfos("Scale").FilterID); objImageProcess.Filters.Item(1).Properties.Item("MaximumWidth").Value = МаксимальнаяШирина; objImageProcess.Filters.Item(1).Properties.Item("MaximumHeight").Value = МаксимальнаяВысота; objImageFile = objImageProcess.Apply(objImageFile); objImageFile.SaveFile(Имя1); Возврат Новый ХранилищеЗначения(Новый Картинка(Имя1)); КонецФункции |
|||
4
НичегоНе Понятно
17.09.19
✎
10:33
|
(3) Очень неплохо, я бы даже сказал, очень хорошо. Но пока еще не попробовал.
>>Не благодари Спасибо. |
|||
5
НичегоНе Понятно
17.09.19
✎
10:46
|
(3)Я уже сел курить opencv и с++ и технологию внешних компонент. Хотя с++ смотреть понравилось, там все по взрослому, вплоть до отслеживания потребляемой памяти и проца во время отладки
|
|||
6
Nyoko
17.09.19
✎
10:50
|
(0) Вы что ??????? ImageMagic !!! епта!! даже 1с до его юзает... из короба ... ах..ть
|
|||
7
НичегоНе Понятно
17.09.19
✎
10:57
|
(6)Перечитай (0). Его надо устанавливать и регистрировать. Как натив компонента он отсутствует(не нужна 1с никому кроме нас), как ком объект у меня его запустить не получилось, остается, только запуском файла. Что не очень удобно (он к примеру не выкинет исключение, если файл битый, а тупо закончит работу). Имидж мейджик хорошо, но не в данном случае. Ибо он не прошел сразу(надо устанавливать).
|
|||
8
craxx
17.09.19
✎
17:25
|
(6) в случае (3) это штатный объект винды. Ничего дополнительно регать не пришлось
|
|||
9
Fragster
гуру
17.09.19
✎
17:27
|
ЗапуститьПриложение и imagemagick по какой причине не устраивает?
|
|||
10
palsergeich
17.09.19
✎
17:27
|
(5) это конечно ткруто, но очень дорого
|
|||
11
Fragster
гуру
17.09.19
✎
17:28
|
(7) выкинет, просто надо знать, что у исполняемых файлов есть код возврата
|
|||
12
Fragster
гуру
17.09.19
✎
17:28
|
и он есть портабл, можно пихнуть в макет, а потом оттуда куда-нибудь в домашнюю папку юзера сервера, и оттуда запускать
|
|||
13
Fragster
гуру
17.09.19
✎
17:29
|
более того, с внешними копмонентами примерно то же самое, их четыре версии нужно
|
|||
14
Fragster
гуру
17.09.19
✎
17:29
|
норм вариант сделать веб сервис на похапэ или ноде, запускать через хттп запрос
|
|||
15
Fragster
гуру
17.09.19
✎
17:29
|
но автору его тоже надо будет "устанвлвать"
|
|||
16
craxx
17.09.19
✎
17:30
|
(12) мой вариант проще
|
|||
17
Fragster
гуру
17.09.19
✎
21:25
|
(16) когда заработает на всех ос?
|
|||
18
НичегоНе Понятно
18.09.19
✎
07:44
|
(10)Просто интересно. В рамках факультатива.
(9)(12)Написал же в ноль, что хочется уйти от запуска файлов. (17)Хоть какой нибудь из предложенных здесь вариантов здесь заработает из коробки на всех ос? Во всех случаях, придется приседать. Только если написать вк. А в линуксе(если появится) имидж мэджик можно будет заюзать. Раз уж без приседаний под него не обойтись. (3)Пока, что выглдяит как самый адекватный. Будем смотреть как поведет себя в бою. |
|||
19
Повелитель
18.09.19
✎
08:05
|
(0) Вот бесплатная. Пользуюсь уже больше 5 лет.
Из минусов только то, что работает только с jpg. http://vbq1.tripod.com/cjpeg.html Установка компонент сжатия картинок Дистрибутив «JpegLib» 1. Распаковать «Ijl10.zip» в C:\WINDOWS (раньше было в систем32) 2. Скопировать «JPEGLIB.DLL» в C:\WINDOWS 3. Зарегистрировать библиотеку «JPEGLIB.DLL» Выполнить - REGSVR32 JPEGLIB.DLL //на папку с библиотеками ОБЯЗАТЕЛЬНО должен быть доступ текущего пользователя Можно создать новую папку, например D:\dll Тогда путь будет REGSVR32 D:\dll\JPEGLIB.DLL Обработка готова к использованию. |
|||
20
Повелитель
18.09.19
✎
08:09
|
(19)
Функция СоздатьРесайзер() Экспорт //Если сом еще не был создан, то создадим Попытка мРесайзер = Новый COMОбъект("JpegLib.cJpeg"); Исключение Сообщить(ОписаниеОшибки()); Возврат Неопределено; КонецПопытки; Возврат мРесайзер; КонецФункции мРесайзер.Load(ПутьОригинала); ТекШиринаКартинки = мРесайзер.Width; ТекВысотаКартинки = мРесайзер.Height; ммКачество= 90 мКаталогВременныхФайлов = КаталогВременныхФайлов(); мРесайзер.SaveModified(ШиринаНужная,ВысотаНужная,мКаталогВременныхФайлов+"vremjpg1c.jpg",ммКачество); |
|||
21
Повелитель
18.09.19
✎
08:10
|
(19) http://vbq1.tripod.com/cjpeg.html
Качать по второй ссылке: Download (Tripod Mirror) ZIP file, 90K Source, DLL, Intel Jpeg Lib, Readme |
|||
22
НичегоНе Понятно
18.09.19
✎
09:28
|
(19)Из минусов только то, что работает только с jpg
Сразу отказать, тут гундят, что нет конвертации в webp, а ты обрабатывать только жпег, там половина картинок из выдачи гугла, то есть много есть не жпг |
|||
23
mikecool
18.09.19
✎
09:33
|
коммерческий проект - жалко денег, заказчики - картинки из гугла качают )))
|
|||
24
Кирпич
18.09.19
✎
09:48
|
(0) Не капризничай. Ставь ImageMagic и пускай люди работают. Никто тебе не будет писать бесплатно ВК для твоих капризов. Еще и webp ему подавай. Заказчикам глубоко пофиг, чо ты там устанавливал и регистрировал. Им надо дело делать.
|
|||
25
НичегоНе Понятно
18.09.19
✎
10:28
|
(23)
коммерческий проект - жалко денег Если кто-то уже делал. И есть возможность воспользоваться, то почему бы и да? Или прям обязательно надо покупать разработки, если проект коммерческий? заказчики - картинки из гугла качают Не вижу, в чем проблема? Сами должны фотать или как? (24) Не капризничай Ну мааааам Ставь ImageMagic и пускай люди работают я же писал уже почему не нравится, но как самый крайний вариант. то конечно, но вот нашлось же (3) Никто тебе не будет писать бесплатно ВК для твоих капризов. Еще и webp ему подавай Так я и не просил никого писать, может быть сам чуть позже, просто по приколу, когда будет свободное время(никогда) Еще и webp ему подавай Нуууу было бы неплохо, прям вот жирно использовать последние технолгии, мы убогие 1сники, забываю все время Заказчикам глубоко пофиг, чо ты там устанавливал и регистрировал. Ну да, возиться то мне. Тут файл не запускается, тут библиотеки не хватает, тут еще херня какая-то. Заказчику глубоко пофиг да. |
|||
26
Cyberhawk
18.09.19
✎
10:32
|
ИмагеМагик работает из коробки и кроссплатформенно реализовать минимум хлопот
|
|||
27
Cyberhawk
18.09.19
✎
10:32
|
Можно еще через повершелл с подгрузкой туда необходимых библиотек, но это уже не кроссплатформенно
|
|||
28
Cyberhawk
18.09.19
✎
10:34
|
Нативная компонента, конечно, вариант удобный в плане деплоя, но в плане гибкости к доработкам - УГ. Если выбирать между консольной кроссплатформенной опенсорсной утилитой и нативной компонентой, то Я бы всегда выбирал только первое.
|
|||
29
НичегоНе Понятно
18.09.19
✎
10:39
|
(26)Под виндой нужно доставать из штанов\макета исполняемый код и запускать его с ключами командной строки, анализируя код возврата. Под линуксом нужно будет использовать установленную библиотеку методом который принят под линуксом. Для разных платформ, код будет разный в любом случае. Только если это не нативная компонента.
вариант удобный в плане деплоя, но в плане гибкости к доработкам - УГ Можно чуть подробнее в каком месте он УГ? Если делает то же самое только средствами платформы 1С? Если выбирать между консольной кроссплатформенной опенсорсной утилитой и нативной компонентой А нативная компонента, не может быть опенсорсной и кроссплатформенной? |
|||
30
Cyberhawk
18.09.19
✎
10:57
|
(29) Ну, если рассматривать описанный тобой случай с компонентой, которая "делает то же самое" и "опенсорсной и кроссплатформенной" и, что более важно, она уже есть в готовом виде, тогда базара нет - нативная рулит и педалит )
Но ведь вероятность встретить такую весьма низкая, а самому делать уже не подходит под один из критериев выше ("уже есть в готовом виде"). |
|||
31
НичегоНе Понятно
18.09.19
✎
11:08
|
(30)ну вот, я и спрашиваю, а может быть есть? Тут пара вариантов с комобъектами всплыло уже. Поэтому повторюсь о том, что писал в (18), так как для линукса на текущий момент все равно придется писать код отдельно, то если нужен будет линукс, под ним заюзаем имиджмэджик. А может быть и компонента к тому времени уже напишется.
|
|||
32
Cyberhawk
18.09.19
✎
11:10
|
(31) Тут еще вопрос доверия к компоненте - она может быть кривовато написана, не учитывать ту гибкость которая может быть при использовании консольной утилиты из командной строки самостоятельно.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |