јбстрактный класс TGraphic ¤вл¤етс¤ родительским дл¤ трех видов изображений, общеприн¤тых в графике Windows Ч значка (компонент ттсоп), метафайла (компонент "metafile) » растровой  ф“»Ќ » (компонент TBitmap). „етвертым потомком TGraphic ¤вл¤етс¤ TJPEGlmage Ч сжата¤ растрова¤ картинка в формате JPEG.

-абота¤ над приложением в Delphi, вы никогда не будете создавать объекты класса TGraphic, но переменной этого типа вы можете присваивать указатель на любой из перечисленных классов-потомков.

ћетод:

prœedure Assign (Source: TPersistent) ;

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

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

prœedure LoadFromStream(Stream: TStream) ;
prœedure SaveToStream(Stream: TStream) ;

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

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

Ёти методы создают соответствующий файловый поток и затем вызывают ће“ќƒџ LoadFromStream/SaveToStream.

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

procedure LoadFromClipboardFormat (AFormat: Word;
ÄData: THandle;
APalette: Ќ-ј1»“≈) ;
procedure SaveToClipboardFormat (var AFormat: Word;
var AData: THandle;
var APalette: HPALErPE) ;

«десь AFormat Ч »-ѕќЋ№«уећџ… графический формат; AData » APalette Ч данные и палитра (если она требуетс¤). ѕотомок должен иметь свой формат представлени¤ в буфере обмена и уметь обрабатывать данные, представленные в нем.

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

type

TProgressStage = (psStarting, psRunning, psEnding) ;
TProgressEvent = procedure (Sender: TObject;
Stage: TProgressStage;
PercentDone: Byte;
RedrawNow: Boolean;
const R: TRect;
constMsg: 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;

 ласс TPicture

Ёто класс-надстройка над TGraphic, точнее Ч над его потомками. ќн имеет поле Graphic, которое может содержать объекты классов TBitmap, Ticon, TMetafile и TJPEGimage. ѕредназначение класса TPicture Ч управл¤ть вызовами соответствующих методов, скрыва¤ при этом хлопоты с определением типа графического объекта и детали его реализации.


⇐ ѕредыдуща¤ страница| |-ледующа¤ страница ⇒

Программирование в Delphi 7



Новости за месяц

  • Октябрь
    2017
  • Пн
  • Вт
  • Ср
  • Чт
  • Пт
  • Сб
  • Вс