Основная страница

Глава 35
Работа с Картинками


Глава 35 Работа с Картинками

При формировании пользовательского интерфейса прикладной задачи иногда требуется отображать в диалоговых формах и печатных документах графические файлы. Для этого в системе 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]);

   КонецЦикла;

КонецЦикла;







Перейти  к оглавлению: Описание встроенного языка