![]()  | 
	
 
  | 
		
			
  | 	
	
	
		
		|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны | 
| 
		 | 
	Опции темы | Поиск в этой теме | Опции просмотра | 
| 
		 
			 
			#1  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 В TImage загружена bmp, поверх рисуется объект (постоянно перемещается). Свойство кисти NotXor теперь не помогает - траектория движения остается все равно (с пустым Image'м работало). Собственно вопрос: как от этого избавиться? 
		
	
		
		
		
		
		
	
		
		
	
	
	Загрузка картинки: Код: 
	OpenPictureDialog1.InitialDir:=GetCurrentDir;
  if OpenPictureDialog1.Execute then
  begin
    Fname:=OpenPictureDialog1.FileName;
    with Form1 do
    begin
      img1.AutoSize:=True;
      img1.Picture.LoadFromFile(Fname);
      img1.Picture.Bitmap.Canvas.Brush.Style:=bsClear;
       ...
   end;После различных вычислений и тд рисование: Код: 
	//fld.Canvas.FillRect(Rect(0,0,wdth,hght)); fld.Canvas.MoveTo(ship_back.X,ship_back.Y); fld.Canvas.LineTo(ship_front.X,ship_front.Y); fld.Canvas.Ellipse(ship_front.X-2,ship_front.Y-2,ship_front.X+2,ship_front.Y+2); Без картинки можно было использовать филлрект, но теперь это вызовет белый прямоугольник. Нужно именно перерисовывать объект поверх картинки, удаляя его предыдущее положение. Можно, конечно, каждый раз заново грузить картинку, но это ерунда (fld и img1 - один и тот же TImage)  |