Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.11;
Скачать: 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 вся ветка

Текущий архив: 2004.04.11;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.093 c
8-1071221674
Esc
2003-12-12 12:34
2004.04.11
Можно ли одновременно работать с WaeIn и WaveOut?


14-1079322357
Rouse_
2004-03-15 06:45
2004.04.11
C Днем Рождения 15 Марта


14-1081748022
Ega23
2004-04-12 09:33
2004.04.11
Кстати, о БД


8-1076628124
Builder
2004-02-13 02:22
2004.04.11
MediaPlayer


14-1082373096
lak
2004-04-19 15:11
2004.04.11
как аналитически доказать- что больше