Йоксель » Главный форум

Сохранение в JPG, качество.

(2 posts)
  1. Денис
    Участник

    Добрый день.

    Разбираюсь с Йокселем. Отличная программа! Но не всё понятно.
    Необходимо сохранить табличный документ в графический файл формата JPEG.
    Каким образом управлять качеством и размером сохраняемого JPEG-файла?

    Платформа 1С 8.3.5.

    Код:

    ТабличныйДокумент = СформироватьТабличныйДокумент();
    ТабличныйДокумент.Записать(ИмяВременногоФайла, ТипФайлаТабличногоДокумента.XLS);

    Йоксель = Новый COMОбъект("Йоксель");
    ЙДокумент = Йоксель.СоздатьТабличныйДокумент();
    ЙДокумент.Открыть(ИмяВременногоФайла, 2);
    ЙКонвертер = Йоксель.СоздатьГрафическийКонвертер();
    ЙКонвертер.УстановитьДокумент(ЙДокумент);
    ЙКонвертер.Записать(ИмяГрафическогоФайла, "JPG");

    Код работает, но JPG-файл создаётся с разрешением 96dpi и размером, допустим, 100х141 пиксель. Нужно лучше качество или больше размер по ширине и высоте.
    Настройки разрешения не нашёл.

    Попытался увеличить размер страницы в конвертере:

    Йоксель = Новый COMОбъект("Йоксель");
    ЙДокумент = Йоксель.СоздатьТабличныйДокумент();
    ЙДокумент.Открыть(ИмяВременногоФайла, 2);
    ЙКонвертер = Йоксель.СоздатьГрафическийКонвертер();
    ЙКонвертер.ВысотаСтраницы = 14100; // Попытка изменения
    ЙКонвертер.ШиринаСтраницы = 10000; // размера
    ЙКонвертер.УстановитьДокумент(ЙДокумент);
    ЙКонвертер.Записать(ИмяГрафическогоФайла, "JPG");

    Эффекта нет. Высота и ширина графического файла не меняется.

    Попытки изменить масштаб в табличном документе 1С или ЙДокумент-те также ни к чему не приводят.

    Пробовал преобразовывать Йоксель-Документ в Йоксель-картинку и менять у неё размер - также не работает:
    Йоксель = Новый COMОбъект("Йоксель");
    ЙДокумент = Йоксель.СоздатьТабличныйДокумент();
    ЙДокумент.Открыть(ИмяВременногоФайла, 2);
    ЙКонвертер = Йоксель.СоздатьГрафическийКонвертер();
    ЙКонвертер.УстановитьДокумент(ЙДокумент);
    ЙКартинка = ЙКонвертер.ПолучитьИзображение();
    ЙКартинка.ИзменитьРазмер(10000, 14100); // Не работает!
    ЙКартинка.Записать(ИмяГрафическогоФайла, 1);

    Что я делаю не так???

    Отправлено 10 года(лет) назад #
  2. Размер документа в пикселах - всегда столько, сколько будет при отрисовке этого документа на экране. Разрешение тоже как при отрисовке на экране.

    Размеры страницы в объекте "ГрафическийКонвертер" - это как будет документ разбиваться на страницы при сохранении отдельной страницы в отдельный графический файл, а не параметры документа.

    Изменения размера картинки - это просто растягивание или сжатие уже существующей картинки.

    Качество сохранения в JPG - какое-то значение по умолчанию в используемой библиотеке для работы с JPEG. Точные параметры я не знаю, надо смотреть. Если надо управлять качеством, то это надо доделывать. Вообще, лучше сохранять в PNG. Это самый лучший вариант сохранять табличные документы при сохранении в виде растров.

    Отправлено 10 года(лет) назад #

RSS экспорт этой темы

Отправить сообщение

Вы должны войти в систему, чтобы оставлять сообщения.