Delphi для начинающих



 

Вывод иллюстрации


Для вывода иллюстрации в форму добавлен компонент image, значок которого (рис. 15.3) находится на вкладке Additional палитры компонентов. В табл. 15.7 приведены свойства компонента image.

Рис.15.3. Значок компонента Image

Таблица 15.6. Свойства компонента image

Свойство

Определяет

Name

Имя компонента

Picture

Свойство, являющееся объектом типа Tbitmap. Определяет выводимую картинку

Left

Расстояние от левого края формы до левой границы области картинки

Top

Расстояние от верхней границы формы до верхней границы области картинки

Height

Высоту картинки

Width

Ширину картинки

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

AutoSize

Признак автоматического изменения размера компонента в соответствии с реальным размером картинки.

Если значение свойства AutoSize равно True, то при изменении значения свойства picture автоматически меняется размер области вывода иллюстрации так, чтобы была видна вся картинка.

Если значение свойства AutoSize равно False, а размер картинки превышает размер области, то отображается только часть картинки

Картинку, отображаемую в области image, можно задать во время создания формы или во время работы программы. Во время создания формы картинка задается установкой значения свойства Picture. Во время работы программы — Применением Метода LoadFromFile.

Например, для разрабатываемого приложения инструкция вывода иллюстрации, находящейся в файле Isaak.bmp (изображение Исаакиевского собора), может быть такой:

Image1.Picture.LoadFromFile('isaak.bmp');

Очевидно, что размер области формы, которая может использоваться для вывода иллюстрации, зависит от длины (количества слов) вопроса, длины и количества альтернативных ответов. Чем длиннее вопрос и ответы, тем больше места в поле формы они занимают, и тем меньше места остается для иллюстрации.

При проектировании формы можно задать жесткие ограничения на размер областей, предназначенных для вопроса и альтернативных ответов, и жестко задать предельный размер иллюстрации. Однако можно поступить иначе. После прочтения из файла очередного вопроса вычислить, сколько места займут тексты вопроса и ответов и сколько места можно выделить для вывода иллюстрации (рис. 15.4).

Рис. 15.4. Вычисление размера области вывода иллюстрации

Если реальный размер иллюстрации превышает размер области, выделенной для ее вывода, то необходимо вычислить коэффициент масштабирования и установить максимально возможные, пропорциональные ширине и высоте иллюстрации, значения свойств width и Height области вывода иллюстрации.

Реальные размеры иллюстрации, загруженной в область image 1, можно получить из свойств Image1.Picture.Bitmap.Width И Image1.Picture.Bitmap.Height.