Класс TGraphic, и его потомки (TBitmap, TMetaFile,и др.): основные свойства и методы, применение для создания и вывода изображений. 


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



ЗНАЕТЕ ЛИ ВЫ?

Класс TGraphic, и его потомки (TBitmap, TMetaFile,и др.): основные свойства и методы, применение для создания и вывода изображений.



Класс TGraphics

Данный класс является абстрактным и сам по себе не применяется. На его основе

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

графических объектов (точечное изображение, значок и прочие).

Абстрактный класс TGraphic является родительским для трех видов изображений, общепринятых в графике Windows — значка (компонент Ticon), метафайла (компонент TMetafile) И растровой картинки (компонент TBitmap). Четвертым потомком TGraphic является TuPEGimage — сжатая растровая картинка в формате JPEG.

От TGraphics такие объекты наследуют свойства, приведенные в табл. 4.10. Методы

класса TGraphics имеют характеристики virtual и abstract и определяются в конкретных

классах-наследниках. Они приведены в табл. 4.11.

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

Таблица 4,10. Наследуемые свойства класса TGraphics

Свойство Назначение

Width Height Ширина и высота объекта в пикселах

Modified Имеет значение True, если объект был изменен (например, отредактирован)

Palette Идентификатор цветовой палитры Windows

Transparent Имеет значение True, если объект будет рисоваться в ≪прозрачном≫ режиме.

Цвет, определяющий уровень прозрачности, задается в конкретном классе

Таблица 4.11. Абстрактные методы класса TGraphics

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

procedure LoadFrom File (const FileName: string); Загрузка и сохранение графической информации

procedure SaveTo File (const FileName: string); в файле

procedure LoadFromClipboardFoimat; Загрузка и сохранение графической информации

procedure SaveToClip board Form at; в буфере обмена Windows

procedure Load From Stream (Stream: TStream); Загрузка и сохранение графической информации

procedure SaveToStrearn(Stream: TStream); в потоке

(

Метод:

 

procedure Assign(Source: TPersistenti;

 

переопределяет одноименный метод предка, допуская полиморфное присваивание графических объектов.

 

Загрузку и выгрузку графики в поток осуществляют методы:

 

procedure LoadFromStream(Stream: TStream);

 

procedure SaveToStream(Stream: TStream);

 

а загрузку и выгрузку в файл — методы:

 

procedure LoadFromFile(const Filename: string); procedure SaveToFile(const Filename: string);

 

Эти методы создают соответствующий файловый поток и затем вызывают методы LoadFromStream/SaveToStream.

 

Два метода осуществляют взаимодействие с буфером обмена Windows:

 

procedure LoadFromClipboardFormat(AFormat: Word; AData: THandle;

 

APalette: HPALETTE);

 

procedure SaveToClipboardFormat(var AFormat: Word; var AData: THandle;

 

var APalette: HPALETTE);

 

Здесь AFormat — используемый графический формат; AData и APalette — данные и палитра (если она требуется). Потомок должен иметь свой формат представления в буфере обмена и уметь обрабатывать данные, представленные в нем.

 

Загрузка больших графических файлов может продолжаться очень долго. Чтобы скрасить пользователю ожидание, программист может обработать событие OnProgress!

 

type

TProgressStage = (psStarting, psRunning, psEnding);

TProgressEvent = procedure (Sender: TObject; Stage: TProgressStage;

PercentDone: Byte; RedrawNow: Boolean; const

R: TRect; const Msg: string) of object; property OnProgress: TProgressEvent;

 

Оно вызывается графическими объектами во время длительных операций. Параметр stage означает стадию процесса (начало/протекание/завершение), a PercentDone — процент сделанной работы. Сразу оговоримся, что не все из тех объектов, которые будут нами описаны, вызывают обработчик события OnProgress.

 

Свойство:

 

property Empty: Boolean;

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

 

Высота и ширина графического объекта задаются свойствами:

 

property Height: Integer; property Width: Integer;

 

Для каждого дочернего типа эти параметры вычисляются своим способом. Наконец, свойство:

 

property Modified: Boolean;

 

показывает, модифицировался ли данный графический объект. Это свойство устанавливается в значение True внутри обработчика события OnChange.

 

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

 

property Transparent: Boolean;)

Наследники класса TGraphics



Поделиться:


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

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