Если вам нужно просто вывести одно изображение, создайте объект
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.
|