На главную
Подписка
Новости


Рейтинг@Mail.ru











Главная / DELPHI / Часто задаваемые вопросы и ответы на них / Графика / Как быстро выводить графику? (А то Canvas очень медленно работает). Сделать домашней страницей Добавить в избранное Написать писмо

Как быстро выводить графику? (А то Canvas очень медленно работает).


Вот пример заполнения формами точками случайного цвета.

 type
   TRGB=record
     b,g,r:byte;
   end;
   ARGB=array [0..1] of TRGB;
   PARGB=^ARGB;

 var
   b:TBitMap;

 procedure TForm1.FormCreate(sender:TObject);
 begin
   b:=TBitMap.Create;
   b.pixelformat:=pf24bit;
   b.width:=Clientwidth;
   b.height:=Clientheight;
 end;

 procedure TForm1.Tim1OnTimer(sender:TObject);
 Var
   p:PARGB;
   x,y:integer;
 begin
   {$R-}
   for y:=0 to b.height-1 do
   begin
     p:=b.scanline[y];
     for x:=0 to b.width-1 do
     begin
       p[x].r:=random(256);
       p[x].g:=random(256);
       p[x].b:=random(256);
     end;
   end;
   canvas.draw(0,0,b);
 end;

 procedure TForm1.FormDestroy(sender:TObject);
 begin
   b.free;
 end;


Источник: Дельфи. Вокруг да около.

Copyright ©   "Мастера DELPHI"   E-mail:   delphi@mastak.com  http://www.delphimaster.ru
Источник получения информации: http://www.delphimaster.ru
Hosted by uCoz