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.
|