Имя: Пароль:
1C
1С v8
Изменение файла изображения расширения png
0 falselight
 
08.07.20
09:03
Подскажите пожалуйста по изменению размера изображения в формате png

Есть процедура которая меняет изображения jpg. Делаю наспех, по этому не все ещё выявил наверное.
и не привел сам код к оптимальному виду, важно что бы работало, и делало то что нужно пока.

Вот тут идет обработка jpg, а если нужно будет обработать png, какая будет строка обработки???

    
             """" + " -filter Lanczos -define jpeg:dct-method=float -quality 70 -gaussian-blur 0.05 " +


&НаСервере
Процедура ОбработатьНаСервере()
    МестоПоложение = "C:\Файлы1с\";
    н              = 1;
    Для каждого СтрТч из ИзображенияДляОбработки Цикл
        Если СтрТч.Обрабатывать Тогда
            ПутьКФайлу     = СокрЛП(СтрТч.ПутьКФайлу);
            СтароеИмя      = МестоПоложение + СокрЛП(ПутьКФайлу);
            //
            НовоеИмяФайла  = МестоПоложение + ЛЕВ(ПутьКФайлу, СтрДлина(ПутьКФайлу)-4) + "new." + ПРАВ(ПутьКФайлу, 3);
            //
            Если СтрТч.Размер >= 5000000 Тогда
                Сообщить(СТРОКА(н) +"). "+ СокрЛП(СтрТч.Номенклатура) +", pic: "+ СокрЛП(СтрТч.НазваниеКартинки) + " size: " + СтрТч.Размер + ", " + СтрТч.ПутьКФайлу);
                Если СтрТч.Размер < 35000000 Тогда
                    ЗапуститьПриложение("""C:\Program Files\ImageMagick-7.0.10-Q16-HDRI\convert.exe"" """ +
                                        СтароеИмя +
                                        """" + " -filter Lanczos -define jpeg:dct-method=float -quality 75 -gaussian-blur 0.05 " +
                                        """" + НовоеИмяФайла+"""", , Истина);    
                Иначе
                    ЗапуститьПриложение("""C:\Program Files\ImageMagick-7.0.10-Q16-HDRI\convert.exe"" """ +
                                        СтароеИмя +
                                        """" + " -filter Lanczos -define jpeg:dct-method=float -quality 70 -gaussian-blur 0.05 " +
                                        """" + НовоеИмяФайла+"""" , , Истина);    
                КонецЕсли;                                                
                н = н + 1;
                //
                НовыйСозданныйФайл =Новый Файл(МестоПоложение + ЛЕВ(ПутьКФайлу, СтрДлина(ПутьКФайлу)-4) + "new." + ПРАВ(ПутьКФайлу, 3));
                //
                СпрОбъект            = СтрТч.ПрисоединенныеФайлы.ПолучитьОбъект();
                СпрОбъект.ПутьКФайлу = ЛЕВ(ПутьКФайлу, СтрДлина(ПутьКФайлу)-4) + "new." + ПРАВ(ПутьКФайлу, 3);
                СпрОбъект.Размер     = НовыйСозданныйФайл.Размер();
                СпрОбъект.Записать();
                Сообщить("Новый файл имеет имя " + НовоеИмяФайла + ", размер: " + НовыйСозданныйФайл.Размер());
                //
                //УдалитьФайлы(СтароеИмя);
                //Сообщить("Старый файл " + СтароеИмя + " УДАЛЕН !");
                ПереместитьФайл(СтароеИмя, "C:\Файлы1с\ФайлыДляУдаления\" + СтрТч.ПрисоединенныеФайлы.Наименование + "." + СтрТч.ПрисоединенныеФайлы.Расширение);
                Сообщить("Старый файл " + СтароеИмя + " ПЕРЕМЕЩЕН в каталог C:\Файлы1с\ФайлыДляУдаления\" + СтрТч.ПрисоединенныеФайлы.Наименование + "." + СтрТч.ПрисоединенныеФайлы.Расширение);
                //
            КонецЕсли;
        КонецЕсли;
    КонецЦикла;
КонецПроцедуры
1 Ц_У
 
08.07.20
09:11
Мы тут больше пофлудить сидим и о проводках поговорить...
https://imagemagick.org/script/convert.php
2 falselight
 
08.07.20
09:57
(1) Но а все же, подскажите если вы понимаете, как будет представлена вот эта строка, для обработки png ?

  """" + " -filter Lanczos -define jpeg:dct-method=float -quality 70 -gaussian-blur 0.05 " +
3 Йохохо
 
08.07.20
10:13
этой строке пофиг
4 falselight
 
08.07.20
10:24
(3) То есть обработается и файл с расширением .png ?
5 pechkin
 
08.07.20
10:28
а попробовать?
и если не получится то уже спрашивать
6 Ц_У
 
08.07.20
10:30
(2) png:compression-level=value    
Valid values are 0 through 9, with 0 providing the least,
but fastest compression and 9 usually providing the best and always the slowest.
(4) должен
  """" + " -filter Lanczos -define png:compression-level=9 -quality 70 -gaussian-blur 0.05 " +
7 Йохохо
 
08.07.20
10:31
(6) who u r tolk to?
8 Ц_У
 
08.07.20
10:37
(7) шта? :)
9 Йохохо
 
08.07.20
10:44
(8) talk, sry mi engrish are beast
10 falselight
 
08.07.20
13:38
(6) то есть строка для png должна быть такая

  """" + " -filter Lanczos -define png:compression-level=9 -quality 70 -gaussian-blur 0.05 " +

А по какой инструкции выявили?

Учитывая что для jpg она такая

    """" + " -filter Lanczos -define jpeg:dct-method=float -quality 75 -gaussian-blur 0.05 " +

compression-level=9 - новый метод !!!
11 falselight
 
08.07.20
15:02
буду пробовать, пока не дошло до этого, кому интересно, может чем поделится?
12 Ц_У
 
08.07.20
15:17
(10) по этой (1) , я понимаю, что вам лень читать, но это форум для "помогите", а не для "сделайте за меня"
(11) вот когда дойдете до этого, тогда и вопрос зададите
13 falselight
 
08.07.20
16:18
(12) Ок. Я только спросил. Нет делать сил, вот какая причина. Была бы, я бы с радостью.
Но, это утро следующего дня.