Имя: Пароль:
1C
1С v8
WIA.ImageFile, convert small image to jpeg
0 kuzyara
 
06.11.15
07:42
ИмяФайлаНач = "D:\1\1.png";
ИмяФайлаПром ="D:\1\1_.png";

    Img = Новый ComОбъект("WIA.ImageFile");
    IP  = Новый ComОбъект("WIA.ImageProcess");
    Img.LoadFile(ИмяФайлаНач);

    IP.Filters.Add(IP.FilterInfos("Convert").FilterID);
    IP1 = IP.Filters(1);
    Для К = 1 По IP1.Properties.Count Цикл
        Если IP1.Properties(К).Name = "FormatID" Тогда
            IP1.Properties(К).Value = "{B96B3CAE-0728-11D3-9D7B-0000F81EF32E}"; //конвертируем в JPG
            
            Прервать;
        КонецЕсли;
    КонецЦикла;
    
    Img = IP.Apply(Img);
    Img.SaveFile(ИмяФайлаПром);

Маленькие картинки превращает в кашу, пример:
было: https://www.dropbox.com/s/g1mgxm5gbpkjlia/1.png?raw=1
стало: https://www.dropbox.com/s/v4p7bulya1bqwwo/1_.png?raw=1

ЧЯДНТ?
1 spectre1978
 
06.11.15
08:03
(0) настройки качества там какие-то есть? PNG, насколько я знаю, формат без потери качества, у JPG качество настраивается, картинка по второй ссылке очень напоминает JPG, у которого качество выставлено на минимум.
2 spectre1978
 
06.11.15
08:17
кстати, в данном случае еще полезно знать, что PNG поддерживает прозрачный цвет, а JPG нет, поэтому конвертеры обычно заменяют его на белый. Что и произошло у вас.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший