Компонент Область рисования (TPaintBox) 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Компонент Область рисования (TPaintBox)



Этот компонент расположен на панели System. Он не имеет никаких отли-

чительных особенностей и обычно используется для выделения на форме

нескольких областей рисования. Такой подход удобен, когда в программе

происходит активный йывод графической информации на экран и желательно раз-

делить этот процесс на независимые части.

Компонент TPaintBox может охватывать произвольную прямоугольную область

формы. Он содержит единственное главное свойство Canvas, имеющее собствен-

ную систему координат. Единственное обрабатываемое событие OnPaint генериру-

ется системой Windows автоматически при необходимости перерисовать одну или

несколько областей (или их части). Разработчик должен только определить, что

будет изображено в каждом объекте класса TPaintBox.

Этот компонент также может самостоятельно вызывать процесс перерисовки области

холста с помощью метода Paint.

Компонент Изображение (TImage)

Данный компонент активно используется во многих программах, причем

не только для отображения статических картинок, но и для создания раз-

личных анимационных эффектов.

В большинстве случаев содержимое изображения загружается из файла на этапе

проектирования. Для этого служит свойство Picture (класс TPicture), описывающее

точечное изображение(.ВМР), значок, графический метафайл Windows или другой

пользовательский графический ресурс. Класс TPicture (рисунок) не является компо-

нентом De/pAi 7, он просто входит в состав библиотеки VCL как вспомогательный, но

на его основе могут быть созданы полноценные компоненты.

Текущее содержимое экземпляра класса хранится в одном из свойств: Bitmap (класс

TBitmap), Icon (значок, класс TIcon) или Metafile (класс TMetafile, формат графиче-

ского метафайла Windows. EMF). Обратиться к любому из этих свойств для отоб-

ражения графики можно через свойство Graphic. Ширина и высота изображения (в

пикселах) задаются в свойствах Width и Height.

Основные методы класса TPicture (помимо ранее рассмотренных методов класса

TGraphic) приведены в табл. 4.43.

Таблица 4.43. Основные методы класса TPicture

Метод Назначение

class procedure Regi ste rClip board Form a t(Регистрация нового графического формата данных для

Aformat: Word; работы с ним через буфер обмена Windows, в результате

AGraphicClass: TGraphicCLass); чего объект класса TPicture сможет обращаться к

данным в буфере обмена с помощью метода

LoadFrom Clipboard Format. С регистрируемым форматом

связывается класс AgraphicClass

class procedure RegisterFiLeFormat(Регистрация нового графического формата данных,

const AExtension, ADescription: string; записанного в файлах с расширением AExtension. При

AGraphicQass: TGraphicCLass); обращении к этому формату в стандартных диалоговых

окнах Windows {Открыть и Сохранить) он отображается

с названием, указанным в параметре ADescription

(например, Мои картинки)

class procedure Re g i ste r File Form at Res (Метод аналогичен предыдущему, только вместо явного

const AExtension: String; указания строки с названием рисунка задается

ADescriptionResID: Integer; идентификатор строки ресурсов

AGraphicClass: TGraphicCLass};

class function SupportsClipboarci Format (Проверка поддержки данного формата графических

AFormat: Word): Boolean; данных при передаче через буфер обмена Windows

class procedure UnregisterGraphicCtass(Отмена ранее зарегистрированного графического

AClass: TGraphicClass); класса ACLass

Дополнительные компоненты Delphi 7 (панель Additional) 239

Используемый далее метакласс TGraphicCLass описывается так:

type TGraphicClass = clasa of TGraphic;

Это означает, что на его месте может присутствовать любой объект класса TGraphic

или его наследник.

Событий, которые можно обрабатывать,}'компонента TImage два. Это событие OnChange,

возникающее, когда графическое содержимое изменилось, и событие OnProgress,

возникающее при работе с некоторыми графическими форматами (в частности, с

форматом JPEG), когда При обработке больших изображений надо извещать про-

грамму о текущем выполненном объеме работ.

Заголовок обработчика события OnProgress выглядит следующим образом.

procedure (Sender: TObject,- Stage: TProgressStage;

PercentDone: Byte; RedrawNow: Boolean;

const R: TRect;

const Msg: string!;

Параметр Stage относится к перечислимому типу и может принимать одно из трех

значений: psStarting (обработка начата), psRunning (обработка продолжается),

psEnding (обработка завершена).

Параметр PercentDone содержит примерный объем обработанной части изображе-

ния в процентах.

Если полученную программой часть изображения (эта область описывается прямо-

угольником R) можно корректно нарисовать (или перерисовать, например при отоб-

ражении форматов с чередованием линий типа GIF), то параметр RedrawNow будет

иметь значение True.

В параметре Msg хранится некоторая строка, словесно характеризующая этап обра-

ботки изображения (например, Loading).

ВНИМАНИЕ Чтобы изображение действительно перерисовывалось, надо в

свойстве IncrementalDisploy объекта Image задать значение True.

После размещения объекта Image на форме появится пунктирная рамка, которая

задает (по умолчанию) размеры будущей картинки. Эти размеры желательно зара-

нее указать в свойствах Width и Height.

Выбрав в Инспекторе объектов свойство Picture, можно вызвать специальный редак-

тор, с помощью которого можно загрузить изображения в форматах.BMP,.ICO, JPG

или в одном из форматов графического метафайла Windows.

ЗАМЕЧАНИЕ Этот редактор был описан при описании компонента TS peed Button.

Если класс Т Picture предназначен только для загрузки, хранения и сохранения изобра-

жения, то с помощью класса TImage с изображением (из свойства Picture) можно

осуществлять определенные манипуляции.

240 Урок 4. Современные компоненты интерфейса пользователя

Прежде всего, в классе TImage имеется свойство Canvas (холст), с помощью которого

можно выводить различную графическую информацию непосредственно на изобра-

жение. С помощью свойства Center картинку можно центрировать внутри заданной

рамки (если она меньше рамки). Если свойство Center имеет значение True, рису-

нок центрируется, в противном случае его верхний левый угол совмещается с верх-

ним левым углом рамки. Установив значение свойства Stretch равным True, можно

включить режим автоматического растяжения или сжатия изображения в соот-

ветствии с положением границ рамки.

Некоторые области изображения можно сделать прозрачными, чтобы сквозь них

≪просвечивал≫ фон формы. Прозрачность определяется заданием значения True

для свойства Transparent. Этот режим не применим к точечному изображению в

формате.BMP__

ДРУГОЕ



Поделиться:


Последнее изменение этой страницы: 2017-02-21; просмотров: 367; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 13.58.247.31 (0.011 с.)