Вывод картинки в макет с реальным размером

1. user824140 21.03.19 15:52 Сейчас в теме
Не выводится на печать картинка с реальными размерами. Если ширину и высоту не ставить, то будут видны лишь границы картинки.
Вопрос, как вывести в печ.форму картинку (что лежит на сервере) с реальными размерами? Должен же быть какой-то способ.

&НаСервере

ИмяМакет = "Документ.РТУ.МакетКартинка";
	Макет = УправлениеПечатью.МакетПечатнойФормы(ИмяМакет);
   	ОбластьМакета = Макет.ПолучитьОбласть("ОбластьСКартинкой");
	АдресВременногоХранилища = ПолучитьФайлССервера(Путь);
		
	мДвоичныеДанные = ПолучитьИзВременногоХранилища(АдресВременногоХранилища);
	мВременныйПутьКФайлу = ПолучитьИмяВременногоФайла("jpg");
	мДвоичныеДанные.Записать(мВременныйПутьКФайлу);
		
	Изображение = Новый Картинка(мВременныйПутьКФайлу);
	ОбластьМакета.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка);
	ОбластьМакета.Рисунки.D1.Картинка = Изображение;
	ОбластьМакета.Рисунки.D1.ширина = 100;
	ОбластьМакета.Рисунки.D1.Высота = 100;
Показать
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
13. user824140 08.04.19 09:54 Сейчас в теме
(13) Решением можно считать любой пост, так как автоматически не удалось вставить картинку с реальными размерами.Сделал пустую картинку в макете и уже в нее вставлял картинку.
Остальные ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
4. Xershi 1473 21.03.19 16:46 Сейчас в теме +0.3 $m
(1) реальный размер задается параметром у картинки, только если вы пихаете рандом, то какой результат ожидаете?
6. user824140 21.03.19 16:49 Сейчас в теме
(4) Может, я вас неясно понял, но если вот этот кусок кода не прописывать,
ОбластьМакета.Рисунки.D1.ширина = 100;
ОбластьМакета.Рисунки.D1.Высота = 100;

то картинка будет миллиметровая, будут видны лишь границы картинки.
7. Xershi 1473 21.03.19 16:51 Сейчас в теме
(6) потому что вы параметр не задали, как картинку выводить, скорее всего по умолчанию стоит вмещать!
говорю же добавиь в макет сначала, потом поймешь чего не хватало, если не хочешь в продакш на макет вешать!
10. VladimirB 16 23.03.19 09:10 Сейчас в теме
(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,иии));
                        //КонецЦикла;
        Размеры=СтрЗаменить(размеры,"?","");
        Сообщить("Размеры картинки - "+Размеры);
    КонецЕсли;
КонецПроцедуры
Показать
2. пользователь 21.03.19 16:01
Сообщение было скрыто модератором.
...
3. user824140 21.03.19 16:44 Сейчас в теме
То есть, вопрос в чем. Можно картинку с реальным размером вставить в макет или нужно ставить:
ОбластьМакета.Рисунки.D1.ширина = 100;
    ОбластьМакета.Рисунки.D1.Высота = 100;
5. Xershi 1473 21.03.19 16:46 Сейчас в теме
И почему в макет не поместить картинку пустую. А уже чем заполнить потом решить?
8. Dnki 4 21.03.19 20:40 Сейчас в теме
Попробую пояснить проще:
- открыть макет
- нажать кнопку "Вставить рисунок"
- Конф. выдаст меню с запросом на файл рисунка. Не выбирать, нажать Ок.
- сделать рисунок нужным размером
- выставить в свойствах РазмерКартинки = "Пропорционально", Узор = "Нет заливки"
- самое главное! Имя = "КрасивыйРисунок" а не лентяйские "D1".

Тогда в коде убираем команды создания объекта. Кстати, не нравится мне и
"мДвоичныеДанные.Записать(мВременныйПутьКФайлу);" А без временного файла не обойтись?

ОбластьМакета.Рисунки.КрасивыйРисунок.Картинка = Новый Картинка(ПолучитьИзВременногоХранилища(АдресВременногоХранилища));


Может и сработает?
9. waitklassik 22.03.19 09:06 Сейчас в теме
а если в макет вставить картинку задать нужные (реальные) размеры и сохранить макет?
11. hudoznik 4 23.03.19 10:54 Сейчас в теме
А если посмотреть свойства картинки и загнать их в переменную, а потом эти переменные подставить в макет и загрузить картинку
12. spaijder 25.03.19 11:22 Сейчас в теме
Наглядно
Прикрепленные файлы:
13. user824140 08.04.19 09:54 Сейчас в теме
(13) Решением можно считать любой пост, так как автоматически не удалось вставить картинку с реальными размерами.Сделал пустую картинку в макете и уже в нее вставлял картинку.
14. nusv 47 23.07.19 14:48 Сейчас в теме
ОбластьКартинка.Рисунки.D1.РазмерКартинки = РазмерКартинки.РеальныйРазмер
15. dminrii.butorin 02.08.23 17:43 Сейчас в теме
Я так сделал.

Коэф = 0.26458;//https://bbf.ru/converter/417/93/

Картинка = Новый Картинка(ДанныеФайла.ДвоичныеДанные);

Рисунок = ТабличныйДокумент.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка);
Рисунок.РазмерКартинки = РазмерКартинки.Пропорционально;
Рисунок.Ширина = Картинка.Ширина() * Коэф;
Рисунок.Высота = Картинка.Высота() * Коэф;
Рисунок.ГраницаСверху = Ложь;
Рисунок.ГраницаСлева = Ложь;
Рисунок.ГраницаСнизу = Ложь;
Рисунок.ГраницаСправа = Ложь;
Рисунок.Линия = Новый Линия(ТипЛинииРисункаТабличногоДокумента.НетЛинии, 1);
Рисунок.Картинка = Картинка;
Оставьте свое сообщение
Вакансии
Программист 1С
Казань
зарплата от 150 000 руб.
Полный день

Программист 1С:ERP
Москва
зарплата от 100 000 руб.
Полный день

Разработчик 1С
Москва
зарплата от 200 000 руб. до 300 000 руб.
Полный день

Программист 1С (удаленно)
Самара
зарплата от 230 000 руб. до 230 000 руб.
Полный день

Руководитель группы разработки 1С
Москва
зарплата от 250 000 руб. до 250 000 руб.
Полный день