Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1C_pr77_Lang2.doc
Скачиваний:
7
Добавлен:
20.11.2019
Размер:
2.52 Mб
Скачать

Глава 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]);

КонецЦикла;

КонецЦикла;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]