При формировании пользовательского интерфейса прикладной задачи иногда требуется отображать в диалоговых формах и печатных документах графические файлы. Для этого в системе 1С:Предприятие используется специальный агрегатный тип данных — Картинка и специальнй элемент формы диалога и таблицы: «Картинка».
Одним из примеров использования данного объекта может служить диалоговая форма справочника «Сотрудники» в которой при выборе сотрудника отображается его фотография.
Если в форму диалога или в таблицу при помощи визуальных средств конфигуратора вставлены элементы формы типа «Картинка», система автоматически создает объекты этого типа, причем идентификаторы этих элементов доступны в контексте программного модуля этой формы как уже существующие объекты типа «Картинка». Кроме того, в программных модулях допускается создавать произвольное число объектов типа «Картинка» просто при помощи вызова системной функции СоздатьОбъект.
При создании объекта типа «Картинка» при помощи функции СоздатьОбъект, в качестве названия агрегатного типа данных обязательно должно выступать ключевое слово Картинка.
Англоязычный синоним ключевого слова Картинка — Picture.
Пример:
Фото=СоздатьОбъект("Картинка");
Загрузить из файла.
Синтаксис:
Загрузить(<ИмяФайла>)
Англоязычный синоним:
Load
Параметры:
<ИмяФaйлa> |
Строковое выражение, которое может задавать или идентификатор картинки в библиотеке картинок конфигурации или имя файла картинки. |
Описание:
Метод Загрузить загружает картинку из файла с указанным именем <ИмяФайла> или берет по идентификатору картинку из библиотеки картинок конфигураци. Файл может быть следующих форматов:
.wmf |
.emf |
.ico |
.bmp |
.dib |
.rle |
Пример:
Фото = СоздатьОбъект("Картинка");
Фото.Загрузить("с:\BMP\Boris.bmp");
Сохранить в файл.
Синтаксис:
Сохранить(<ИмяФайла>)
Англоязычный синоним:
Save
Параметры:
<ИмяФайла> |
Строковое выражение — имя файла. |
Описание:
Метод Сохранить выгружает картинку в файл с именем <ИмяФайла> в формате загрузки (загрузили в формате bmp — в этом формате и сохраним).
Пример:
Фото.Загрузить("с:\ВМР\Boris.bmp");
Фото.Сохранить("с:\lCv7\DBmy\Boris.bmp");
Установить режим рисования картинки.
Синтаксис:
РежимРисования(<Режим>)
Англоязычный синоним:
SetDrawMode
Параметры:
<Режим> |
Числовое выражение: 1 — растягивать; 2 — рисовать по центру с оригинальным размером; 3 — рисовать сохраняя оригинальное соотношение высоты и ширины. |
Возвращаемое значение:
Текущее числовое значение режима рисования картинки (на момент до исполнения метода).
Описание:
Метод РежимРисования устанавливает режим рисования картинки.
Пример:
Фото.РежимРисования(2);
Фото.Загрузить("с:\lCv7\DBmy\Boris.bmp");
Переустановить объект типа "Картинка".
Синтаксис:
УстановитьКартинку(<Объект>)
Англоязычный синоним:
SetPicture
Параметры:
<Объект> |
Выражение, имеющее значение оъекта типа «Картинка» встроенного языка или OLE-объект типа I Picture. |
Описание:
Метод УстановитьКартинку переписывает (копирует) значение источника <Объект> в текущий объект. (Данный метод копирует все содержимое одного объекта в другой, в отличие от оператора присваивания (=), который передает значение ссылки на уже существующий объект). Например:
А = СоздатьОбъект("Картинка");
В = А;
// в этом случае переменные А и В ссылаются на один и тот же объект
Рассмотрим другой вариант:
А = СоздатьОбъект("Картинка");
В = СоздатьОбъект("Картинка");
А.Загрузить("с:\BMP\Boris.bmp");
В.УстановитьКартинку(А);
// в этом случае переменные А и В ссылаются на два
// разных объекта, хотя и содержат одно и то же
Пример:
// Допустим в Форме диалога у нас есть элемент типа картинка
// с идентификатором Кино.
// Сделаем анимацию изображения в этой форме
Перем фото[5];
// создадим объекты и загрузим в них картинки
Для Н = 1 По 5 Цикл
Фото[Н] = СоздатьОбъект("Картинка");
Фото[Н].Загрузить("с:\BMP\Foto" + Строка(Н)+ ".bmp");
КонецЦикла;
// Теперь запустим анимацию
Для Раз = 1 По 100 Цикл
Для Н = 1 По 5 Цикл
Кино.УстановитьКартинку(Фото[H]);
КонецЦикла;
КонецЦикла;