ФорматКартинки.SVG

Свойства · SVG

Формат картинки SVG.

Полное описание, параметры и ограничения

ФорматКартинки.SVG (PictureFormat.SVG)

ФорматКартинки (PictureFormat)

SVG (SVG)

Доступен, начиная с версии 8.3.9.

Описание:
Формат картинки SVG.
Использование в версии:

Доступен, начиная с версии 8.3.9.

Методическая информация

Практические примеры

Добавить собственный знак готовности и передать его как вложение HTML

Маленький SVG-знак создаётся из явно приведённого текста, без скачивания. Документ получает абсолютную картинку, а HTML-компоненты — её вложение.

Где и как запускать

Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.

Подготовка

  1. Отдельная учебная база, серверный общий модуль УчебныеЗадачи. Фрагмент без директив вставьте в тело ВыполнитьПример() Экспорт.

  2. Документ создаётся заново в памяти при каждом запуске. Существующие реквизиты, файлы и документы конфигурации не меняются.

  3. Сообщения показывают контрольные проверки. Для визуального просмотра оформления используйте отдельную задачу с полным модулем учебной формы.

  4. Добавление картинки и УстановитьHTML выполняются на сервере. Не переносите этот фрагмент в клиентский обработчик.

  5. Для визуального просмотра поместите фрагмент перед Возврат Документ в серверной функции СоздатьУчебнуюПамятку полного модуля задачи с формой. Он создаст отдельный документ вместо прежней памятки.

SVG = "<svg xmlns=""http://www.w3.org/2000/svg"" width=""32"" height=""32"" viewBox=""0 0 32 32""><rect width=""32"" height=""32"" rx=""6"" fill=""#146e32""/><path d=""M8 16l5 5 11-12"" fill=""none"" stroke=""white"" stroke-width=""3""/></svg>";
ДанныеЗнака = ПолучитьДвоичныеДанныеИзСтроки(SVG, КодировкаТекста.UTF8, Ложь);
КартинкаЗнака = Новый Картинка(ДанныеЗнака);
Сообщить(КартинкаЗнака.Формат() = ФорматКартинки.SVG);
Документ = Новый ФорматированныйДокумент;
Текст = Документ.Добавить("Готово: ");
Знак = Документ.Добавить(КартинкаЗнака, Тип("КартинкаФорматированногоДокумента"));
Знак.Ширина = 32;
Знак.Высота = 32;
Знак.НавигационнаяСсылка = "";
Сообщить(Знак.Ширина = 32 И Знак.Высота = 32);
Сообщить(ТипЗнч(Знак.Картинка) = Тип("Картинка"));
Сообщить(Знак.Родитель = Текст.Родитель);
Сообщить(Знак.НавигационнаяСсылка = "");
Сообщить(Документ.ПолучитьПозициюПоЗакладке(Знак.ЗакладкаКонца) > Документ.ПолучитьПозициюПоЗакладке(Знак.ЗакладкаНачала));
HTML = "";
Вложения = Новый Структура;
Документ.ПолучитьHTML(HTML, Вложения);
Сообщить(Вложения.Количество() = 1);
Копия = Новый ФорматированныйДокумент;
Копия.УстановитьHTML(HTML, Вложения);
Сообщить(СтрНайти(Копия.ПолучитьТекст(), "Готово:") > 0);

Разбор по шагам

  1. SVG содержит только собственные фигуры rect/path и встроенные цвета, без скриптов и внешних ссылок.

  2. Конструктор Картинка из ДвоичныеДанные создаёт абсолютную картинку. Вставка картинок в форматированный документ доступна на сервере.

  3. Добавить возвращает КартинкаФорматированногоДокумента. Это отдельный элемент, не сам исходный объект Картинка.

  4. Устанавливаем размер и пустую навигационную ссылку; через Родитель и закладки изучаем положение элемента рядом с текстом.

  5. ПолучитьHTML формирует HTML и структуру вложений. Абсолютная встроенная картинка требует передачи вложения вместе с HTML.

  6. УстановитьHTML восстанавливает копию из обоих компонентов, а не только из строки с потерянными картинками.

Как проверить результат

  1. Все восемь сообщений Истина; вложений ровно одно, текст Готово: сохранён.

  2. При просмотре в подготовленной форме виден собственный зелёный знак готовности; проверьте его отображение отдельно в вашем клиенте.

Ожидаемый результат

Картинка встроена в собственный документ, показана её связь с параграфом и HTML-вложением.

На что обратить внимание

  1. Числа 32 задают размеры элемента. В этом уроке не смешиваем их с поинтами отступа параграфа.

  2. Наличие текста в копии не является пиксельной проверкой картинки — для неё есть визуальный контроль в учебной форме.

  3. Нельзя подставлять неизвестный SVG/HTML извне, считая этот пример проверкой безопасности содержимого.

  4. Картинка задана данными, не внешним URL; сеть для её получения не нужна.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.