УФ: Как вывести программно 2 картинки в одной области табличного документа с сохранением прозрачности?
Необходимо 2 картинки вывести в одной области табличного документа. Обе картинки имеют прозрачный фон. Но при программном наложении одна перекрывает другую. Если их вручную вставить в конфигураторе, то все норм, прозрачность сохраняется.
Была уже похожая тема -https://forum.infostart.ru/forum9/topic178638/ - но не помогли советы.
Картинки хранятся как прикрепленные файлы к карточке номенклатуры.
Код:
Картинка1 = ПрисоединенныеФайлы.ПолучитьДвоичныеДанныеФайла(Ном1);
Картинка2 = ПрисоединенныеФайлы.ПолучитьДвоичныеДанныеФайла(Ном2);
ОбластьКартинка = ОбластьМакета.Области.АдресКартинки;
ОбластьКартинка.Узор = ТипУзораТабличногоДокумента.БезУзора; // не помогло
Если ТипЗнч(Картинка1) = Тип("Картинка") Тогда
ОбластьКартинка.Картинка = Картинка1;
ИначеЕсли ТипЗнч(Картинка1) = Тип("ДвоичныеДанные") Тогда
ОбластьКартинка.Картинка = Новый Картинка(Картинка1, Истина); // не помогло
КонецЕсли;
Если ТипЗнч(Картинка2) = Тип("Картинка") Тогда
ОбластьКартинка.Картинка = Картинка2;
ИначеЕсли ТипЗнч(Картинка2) = Тип("ДвоичныеДанные") Тогда
ОбластьКартинка.Картинка = Новый Картинка(Картинка2, Истина);
КонецЕсли;
Была уже похожая тема -
Картинки хранятся как прикрепленные файлы к карточке номенклатуры.
Код:
Картинка1 = ПрисоединенныеФайлы.ПолучитьДвоичныеДанныеФайла(Ном1);
Картинка2 = ПрисоединенныеФайлы.ПолучитьДвоичныеДанныеФайла(Ном2);
ОбластьКартинка = ОбластьМакета.Области.АдресКартинки;
ОбластьКартинка.Узор = ТипУзораТабличногоДокумента.БезУзора; // не помогло
Если ТипЗнч(Картинка1) = Тип("Картинка") Тогда
ОбластьКартинка.Картинка = Картинка1;
ИначеЕсли ТипЗнч(Картинка1) = Тип("ДвоичныеДанные") Тогда
ОбластьКартинка.Картинка = Новый Картинка(Картинка1, Истина); // не помогло
КонецЕсли;
Если ТипЗнч(Картинка2) = Тип("Картинка") Тогда
ОбластьКартинка.Картинка = Картинка2;
ИначеЕсли ТипЗнч(Картинка2) = Тип("ДвоичныеДанные") Тогда
ОбластьКартинка.Картинка = Новый Картинка(Картинка2, Истина);
КонецЕсли;
Найденные решения
ОбластьКартинка = ОбластьМакета.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка);
ОбластьКартинка.Верх = 1;
ОбластьКартинка.Высота = 90;
ОбластьКартинка.Ширина = 90;
ОбластьКартинка.Лево = 1;
ОбластьКартинка.ЦветФона = Новый Цвет();
ОбластьКартинка.ГраницаСверху = Ложь;
ОбластьКартинка.ГраницаСлева = Ложь;
ОбластьКартинка.ГраницаСнизу = Ложь;
ОбластьКартинка.ГраницаСправа = Ложь;
ОбластьКартинка.РазмерКартинки = РазмерКартинки.Пропорционально;
ОбластьКартинка.Картинка = Новый Картинка(Картинка1, Истина);
// вторую картинку вставляем в ту же область
ОбластьКартинка2 = ОбластьМакета.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка);
ОбластьКартинка2.Верх = 1;
ОбластьКартинка2.Высота = 90;
ОбластьКартинка2.Ширина = 90;
ОбластьКартинка2.Лево = 1;
ОбластьКартинка2.ЦветФона = Новый Цвет();
ОбластьКартинка2.ГраницаСверху = Ложь;
ОбластьКартинка2.ГраницаСлева = Ложь;
ОбластьКартинка2.ГраницаСнизу = Ложь;
ОбластьКартинка2.ГраницаСправа = Ложь;
ОбластьКартинка2.РазмерКартинки = РазмерКартинки.Пропорционально;
ОбластьКартинка2.Картинка = Новый Картинка(Картинка2, Истина);
ОбластьКартинка.Верх = 1;
ОбластьКартинка.Высота = 90;
ОбластьКартинка.Ширина = 90;
ОбластьКартинка.Лево = 1;
ОбластьКартинка.ЦветФона = Новый Цвет();
ОбластьКартинка.ГраницаСверху = Ложь;
ОбластьКартинка.ГраницаСлева = Ложь;
ОбластьКартинка.ГраницаСнизу = Ложь;
ОбластьКартинка.ГраницаСправа = Ложь;
ОбластьКартинка.РазмерКартинки = РазмерКартинки.Пропорционально;
ОбластьКартинка.Картинка = Новый Картинка(Картинка1, Истина);
// вторую картинку вставляем в ту же область
ОбластьКартинка2 = ОбластьМакета.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка);
ОбластьКартинка2.Верх = 1;
ОбластьКартинка2.Высота = 90;
ОбластьКартинка2.Ширина = 90;
ОбластьКартинка2.Лево = 1;
ОбластьКартинка2.ЦветФона = Новый Цвет();
ОбластьКартинка2.ГраницаСверху = Ложь;
ОбластьКартинка2.ГраницаСлева = Ложь;
ОбластьКартинка2.ГраницаСнизу = Ложь;
ОбластьКартинка2.ГраницаСправа = Ложь;
ОбластьКартинка2.РазмерКартинки = РазмерКартинки.Пропорционально;
ОбластьКартинка2.Картинка = Новый Картинка(Картинка2, Истина);
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
ОбластьКартинка = ОбластьМакета.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка);
ОбластьКартинка.Верх = 1;
ОбластьКартинка.Высота = 90;
ОбластьКартинка.Ширина = 90;
ОбластьКартинка.Лево = 1;
ОбластьКартинка.ЦветФона = Новый Цвет();
ОбластьКартинка.ГраницаСверху = Ложь;
ОбластьКартинка.ГраницаСлева = Ложь;
ОбластьКартинка.ГраницаСнизу = Ложь;
ОбластьКартинка.ГраницаСправа = Ложь;
ОбластьКартинка.РазмерКартинки = РазмерКартинки.Пропорционально;
ОбластьКартинка.Картинка = Новый Картинка(Картинка1, Истина);
// вторую картинку вставляем в ту же область
ОбластьКартинка2 = ОбластьМакета.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка);
ОбластьКартинка2.Верх = 1;
ОбластьКартинка2.Высота = 90;
ОбластьКартинка2.Ширина = 90;
ОбластьКартинка2.Лево = 1;
ОбластьКартинка2.ЦветФона = Новый Цвет();
ОбластьКартинка2.ГраницаСверху = Ложь;
ОбластьКартинка2.ГраницаСлева = Ложь;
ОбластьКартинка2.ГраницаСнизу = Ложь;
ОбластьКартинка2.ГраницаСправа = Ложь;
ОбластьКартинка2.РазмерКартинки = РазмерКартинки.Пропорционально;
ОбластьКартинка2.Картинка = Новый Картинка(Картинка2, Истина);
ОбластьКартинка.Верх = 1;
ОбластьКартинка.Высота = 90;
ОбластьКартинка.Ширина = 90;
ОбластьКартинка.Лево = 1;
ОбластьКартинка.ЦветФона = Новый Цвет();
ОбластьКартинка.ГраницаСверху = Ложь;
ОбластьКартинка.ГраницаСлева = Ложь;
ОбластьКартинка.ГраницаСнизу = Ложь;
ОбластьКартинка.ГраницаСправа = Ложь;
ОбластьКартинка.РазмерКартинки = РазмерКартинки.Пропорционально;
ОбластьКартинка.Картинка = Новый Картинка(Картинка1, Истина);
// вторую картинку вставляем в ту же область
ОбластьКартинка2 = ОбластьМакета.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка);
ОбластьКартинка2.Верх = 1;
ОбластьКартинка2.Высота = 90;
ОбластьКартинка2.Ширина = 90;
ОбластьКартинка2.Лево = 1;
ОбластьКартинка2.ЦветФона = Новый Цвет();
ОбластьКартинка2.ГраницаСверху = Ложь;
ОбластьКартинка2.ГраницаСлева = Ложь;
ОбластьКартинка2.ГраницаСнизу = Ложь;
ОбластьКартинка2.ГраницаСправа = Ложь;
ОбластьКартинка2.РазмерКартинки = РазмерКартинки.Пропорционально;
ОбластьКартинка2.Картинка = Новый Картинка(Картинка2, Истина);
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот