Вниз
Скачать: CL | DM;

Очистка Canvas   Найти похожие ветки 

 
Destroyer   (2004-03-26 23:45) [0]

Моя программа рисует на форме график. При изменении размера формы, график перерисовывается, но старый остается. Как обновлять canvas, т.е. стирать все с него?


 
Mihey ©   (2004-03-27 00:00) [1]

Нужно заливать каким-то цвтом канву, например, FillRect, или работать с TBitmap - там можно и быстрее, через Scanline:

CONST
 PixelCountMax = 32768;

TYPE
 pRGBTripleArray = ^TRGBTripleArray;
 TRGBTripleArray = ARRAY[0..PixelCountMax-1] OF TRGBTriple;

var
Bmp: TBitmap;

procedure Do;
var x, y: Integer;
   i: Integer;
   Row: pRGBTripleArray;
begin
 FOR y := 0 TO Bmp.Height-1 DO
 BEGIN
   Row := Bmp.Scanline[y];
   FOR x := 0 TO Bmp.Width-1 DO
   BEGIN
     WITH Row[x] DO
     BEGIN  // (255; 255; 0) - жёлтый
       rgbtRed   := 255;
       rgbtGreen := 255;
       rgbtBlue  :=   0;
     END
   END
 END;
end;


 
Mihey ©   (2004-03-27 00:54) [2]

Да, и кстати для D6-ников:

http://delphimaster.net/view/8-1080224905/

см. способы от dmk.


 
Defunct ©   (2004-03-27 04:30) [3]

Destroyer   (26.03.04 23:45)  

Хотите чтобы график отображался плавно? Тогда формируйте график на отдельном Bitmap.Canvas и потом отрисовывайте всю картинку через Canvas.Draw



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.044 c
1-1080200264
Raduga
2004-03-25 10:37
2004.04.11
Синронизация


1-1082471366
ReNoiZer
2004-04-20 18:29
2004.04.11
компиляция midas и dbExpress dll s прямо в приложение...


7-1075198334
Shurik_212
2004-01-27 13:12
2004.04.11
Кто положил файл?


1-1079642166
andron23
2004-03-18 23:36
2004.04.11
Создание exe-файла


3-1078983763
InkBlot
2004-03-11 08:42
2004.04.11
MSFlexGrid.DataSource




   Наверх