Вывод картинки в макет с реальным размером
Не выводится на печать картинка с реальными размерами. Если ширину и высоту не ставить, то будут видны лишь границы картинки.
Вопрос, как вывести в печ.форму картинку (что лежит на сервере) с реальными размерами? Должен же быть какой-то способ.
Вопрос, как вывести в печ.форму картинку (что лежит на сервере) с реальными размерами? Должен же быть какой-то способ.
&НаСервере
ИмяМакет = "Документ.РТУ.МакетКартинка";
Макет = УправлениеПечатью.МакетПечатнойФормы(ИмяМакет);
ОбластьМакета = Макет.ПолучитьОбласть("ОбластьСКартинкой");
АдресВременногоХранилища = ПолучитьФайлССервера(Путь);
мДвоичныеДанные = ПолучитьИзВременногоХранилища(АдресВременногоХранилища);
мВременныйПутьКФайлу = ПолучитьИмяВременногоФайла("jpg");
мДвоичныеДанные.Записать(мВременныйПутьКФайлу);
Изображение = Новый Картинка(мВременныйПутьКФайлу);
ОбластьМакета.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка);
ОбластьМакета.Рисунки.D1.Картинка = Изображение;
ОбластьМакета.Рисунки.D1.ширина = 100;
ОбластьМакета.Рисунки.D1.Высота = 100;
ПоказатьПо теме из базы знаний
- Медиадисплей. Рекламный информационный монитор для покупателя в 1С
- Картинки во внешней печатной форме (Шапка и табличная часть)
- Подсистема прав доступа (анализ ролей, отладка RLS, английский код, обычные и управляемые формы)
- Доработка визуализации ЭП для 1С:Документооборот государственного учреждения КОРП
- Прототипы – картинка интерфейса против готовой формы
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
Процедура ОпределитьРазмерКартинки(Кнопка)
Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
Диалог.Заголовок = "Выберите файл с картинкой";
Диалог.ПолноеИмяФайла = "";
Диалог.ПредварительныйПросмотр = Истина;
Диалог.Фильтр =
"Все картинки (*.bmp;*.dib;*.rle;*.jpg;*.jpeg;*.tif;*.gif;*.png;*.ico;*.wmf;*.emf)|*.bmp;*.dib;*.rle;*.jpg;*.jpeg;*.tif;*.gif;*.png;*.ico;*.wmf;*.emf|" ; // картинки
Если Диалог.Выбрать() Тогда
Каталог=Диалог.Каталог;
Имя=Сред(Диалог.ПолноеИмяФайла,стрДлина(Каталог)+1);
objShellApp=Новый COMОбъект("Shell.Application");
objFolder=objShellApp.NameSpace(СокрЛП(Каталог));
objItem=objFolder.ParseName(СокрЛП(Имя));
размеры=objFolder.GetDetailsOf(objItem,31);
//Для иии=0 по 200 Цикл
// Сообщить(""+иии+" - "+objFolder.GetDetailsOf(objItem,иии));
//КонецЦикла;
Размеры=СтрЗаменить(размеры,"?","");
Сообщить("Размеры картинки - "+Размеры);
КонецЕсли;
КонецПроцедуры
Показать
Попробую пояснить проще:
- открыть макет
- нажать кнопку "Вставить рисунок"
- Конф. выдаст меню с запросом на файл рисунка. Не выбирать, нажать Ок.
- сделать рисунок нужным размером
- выставить в свойствах РазмерКартинки = "Пропорционально", Узор = "Нет заливки"
- самое главное! Имя = "КрасивыйРисунок" а не лентяйские "D1".
Тогда в коде убираем команды создания объекта. Кстати, не нравится мне и
"мДвоичныеДанные.Записать(мВременныйПутьКФайлу);" А без временного файла не обойтись?
Может и сработает?
- открыть макет
- нажать кнопку "Вставить рисунок"
- Конф. выдаст меню с запросом на файл рисунка. Не выбирать, нажать Ок.
- сделать рисунок нужным размером
- выставить в свойствах РазмерКартинки = "Пропорционально", Узор = "Нет заливки"
- самое главное! Имя = "КрасивыйРисунок" а не лентяйские "D1".
Тогда в коде убираем команды создания объекта. Кстати, не нравится мне и
"мДвоичныеДанные.Записать(мВременныйПутьКФайлу);" А без временного файла не обойтись?
ОбластьМакета.Рисунки.КрасивыйРисунок.Картинка = Новый Картинка(ПолучитьИзВременногоХранилища(АдресВременногоХранилища));
Может и сработает?
Я так сделал.
Коэф = 0.26458;//https://bbf.ru/converter/417/93/
Картинка = Новый Картинка(ДанныеФайла.ДвоичныеДанные);
Рисунок = ТабличныйДокумент.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка);
Рисунок.РазмерКартинки = РазмерКартинки.Пропорционально;
Рисунок.Ширина = Картинка.Ширина() * Коэф;
Рисунок.Высота = Картинка.Высота() * Коэф;
Рисунок.ГраницаСверху = Ложь;
Рисунок.ГраницаСлева = Ложь;
Рисунок.ГраницаСнизу = Ложь;
Рисунок.ГраницаСправа = Ложь;
Рисунок.Линия = Новый Линия(ТипЛинииРисункаТабличногоДокумента.НетЛинии, 1);
Рисунок.Картинка = Картинка;
Коэф = 0.26458;//https://bbf.ru/converter/417/93/
Картинка = Новый Картинка(ДанныеФайла.ДвоичныеДанные);
Рисунок = ТабличныйДокумент.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка);
Рисунок.РазмерКартинки = РазмерКартинки.Пропорционально;
Рисунок.Ширина = Картинка.Ширина() * Коэф;
Рисунок.Высота = Картинка.Высота() * Коэф;
Рисунок.ГраницаСверху = Ложь;
Рисунок.ГраницаСлева = Ложь;
Рисунок.ГраницаСнизу = Ложь;
Рисунок.ГраницаСправа = Ложь;
Рисунок.Линия = Новый Линия(ТипЛинииРисункаТабличногоДокумента.НетЛинии, 1);
Рисунок.Картинка = Картинка;
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот