§ 13. Элементы управления для работы с графикой

13.1. Элемент управления для вставки рисунка (Image)

При создании приложений нередко возникает необходимость украсить его графическим изображением. В этом случае можно воспользоваться компонентом Image (изображение). На панели компонентов Additional компонент изображение представлен в виде , имя объекта — Image. Компонент Image, помещенный на форму, получает имя ImageN, где N — номер 1, 2, 3… (пример 13.1).

Некоторые свойства компонента Image приведены в таблице (пример 13.2).

Используя свойство Picture, можно выбрать и загрузить изображение на этапе проектирования приложения. Изображение может быть выбрано в окне редактора изображений (кнопка   около свойства Picture в окне инспектора объектов). В этом случае рисунок сохраняется в файле формы и для работы приложения отдельного файла с рисунком не требуется.

Компонент поддерживает вставку рисунков в форматах JPEG, PNG, BMP и др. Если требуется обработка изображения (любые изменения рисунка), то рисунок должен быть сохранен в формате BMP. Для рисунков формата PNG с прозрачным фоном при загрузке сохраняется прозрачность.

Свойство Picture компонента Image обладает методами LoadFromFile и SaveToFile, которые используются для загрузки и сохранения изображения. Метод LoadFromFile может быт использован для загрузки изображения при открытии приложения. В этом случае файл с рисунком должен находиться в папке проекта (или нужно прописать полный путь к файлу).

Пример 13.3. Создать проект, в котором следует разместить фоновое изображение на форме. При нажатии на кнопку поверх фонового изображения должно появиться другое изображение.

Этапы выполнения задания

  1. Поместить на форму два компонента Image и кнопку.
  2. Загрузить в компонент Image1 фоновое изображение. Задать размеры Image1: Height = 370, Width = 550. Свойство Stretch = true.
  3. Для компонента Image2 установить значения для свойства Visible = false (изображение невидимо при запуске приложения). Размеры Height = 120, Width = 200. Свойство Stretch = true.
  4. Загрузить изображение в компонент Image2. Изображение может быть формата PNG с прозрачным фоном или формата BMP с фоном однородного цвета (в этом случае значение свойства Transparent = true).

Написать обработчик события OnClick для компонента Button1..

Пример 13.1. Компонент Image (изображение) на форме:

Пример 13.2. Некоторые свойства компонента Image (изображение).

Свойство

Назначение

Picture

Используется для отображения изображений

Autosize

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

Stretch

При значении True рисунок будет занимать весь компонент. При этом возможно искажение изображения

Center

При значении True рисунок будет отцентрирован относительно компонента

Transparent

Значение True показывает, что фон изображения становится прозрачным. Это можно использовать для наложения изображений друг на друга (действует только для файлов .bmp)

Proportional

Значение True показывает, что при изменении размеров изображения будут сохраняться пропорции

Пример 13.3. Форма на этапе конструирования:

Обработчик события OnClick для Button1.

void __fastcall TForm1::Button1Click(TObject *Sender)

{

  Image2 -> Top = 370;

  Image2 -> Left = rand() % 350 + 100;

  Image2 -> Visible = true;

}

Работающее приложение:

До нажатия на кнопку:

После нажатия на кнопку:

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