Советы по Delphi

         

Delphi и графика


Если вам нужно просто вывести одно изображение, создайте объект TBitmap, "поиграйтесь" с ним, а когда изображение будет готово появиться на экране, вызовите функцию Image.Canvas.Draw(0, 0, Bitmap), которая скопирует и нарисует его на экране. Как вы наверное заметили, основное время занимает рисование картинки на экране, а не установка ее атрибутов. В результате мы устанавливаем цвета на невидимом объекте (TBitmap мы уже создали), и отображаем только полностью готовый Bitmap. Вот демонстрационный код для формы с единственным на ней компонентом Image:

    procedure TForm1.FormPaint(Sender: TObject);
Var
TmpX, TmpY : Byte; MyImage : TBitmap; begin
Form1.Width := 260;    Form1.Height := 260; Image1.Width := 250;   Image1.Height := 250; Image1.top := 5;       Image1.width := 5; MyImage := TBitmap.Create; MyImage.Width := 250;  MyImage.Height := 250; FOR TmpX := 0 TO 249 DO FOR TmpY := 0 TO 249 DO MyImage.Canvas.Pixels[TmpX,TmpY] := RGB(TmpX, 250 - TmpY, (TmpX + TmpY DIV 2)); Image1.Canvas.Draw(0, 0, MyImage); MyImage.Free; end;

Если вы хотите сделать действительно быструю графику, взгляните на функции GDI (API) и/или функции WinG, которые для вас разработали программисты Microsoft. Трактовка их для данной статьи немного скучна, да и не имеет никакого отношения к Delphi. [001808]



Содержание раздела