 
			
				29.09.2010, 17:16
			
			
			
		  
	 | 
	
		
		
		
			  | 
			
			
				
				
				 Новичок 
				
				
			 | 
			  | 
			
				
				
					Регистрация: 27.02.2009 
					Адрес: Лен. обл., г. Коммунар 
					
					Сообщения: 53
 
				Версия Delphi: 7 и 2010 
					Репутация: 16 
					    
				 
				
			 | 
		 
		 
		
	 | 
	
	
	
		
			
			
				 
				Мерцание при прорисовке
			 
			 
			
		
		
		
		Делаю я граф. редактор 
делаю линию... 
и все бы хорошо, но поверх некоторых изображений рисую линию - все начинает мерцать
 
	Код: 
	var
  Form1: TForm1;
  mode: TMode;
  down: Boolean;
  b: TBitmap;
  DownX,DownY: Integer;
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
down:=true;
b:=TBitmap.Create;
b.Width:=Image1.Width;
b.Height:=Image1.Height;
b.Canvas.Draw(0,0,Image1.Picture.Graphic);
DownX:=x;
DownY:=y;
end;
procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
var b2: TBitmap;
begin
If (mode=line) and down then begin
b2:=TBitmap.Create;
b2.Width:=b.Width;
b2.Height:=b.Height;
b2.Canvas.Draw(0,0,b);
b2.Canvas.MoveTo(DownX,DownY);
LineTo(b2.Canvas.Handle,x,y);
BitBlt(Image1.Canvas.Handle,0,0,b2.Width,b2.Height,b2.Canvas.Handle,0,0,SrcCopy);
Image1.Repaint;
b2.Free;
end;
end;
procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
down:=false;
BitBlt(Image1.Canvas.Handle,0,0,b.Width,b.Height,b.Canvas.Handle,0,0,SrcCopy);
Image1.Refresh;
b.Free;
end;  
  
		
	
		
		
		
		
		
	
		
			
 
			
			
			
				 
			
			
			
			
		 
		
	
	
	 |