![]()  | 
	
 
  | 
| 
		 
			 
			#1  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Уважаемые прогеры, нужна помощь.  
		
	
		
		
		
		
		
	
		
		
	
	
	1) Имеется TImage с битмапом внутри. Нужно, чтобы при нажатии на любой участок картинки мышкой создавался TBitmap с шириной и высотой, указанными в TEdit пользователем и участок первой картинки, который был выбран мышкой копировался во второй TImage. 2) Как сделать, чтобы второй TImage можно было как бы "закодировать" в таблицу пикселей, чтобы каждый параметр РГБ был вариативным, т.е. чтобы я мог сравнивать две почти одинаковые картинки с разницей в пару пикселей и чтобы программа распознавала их как одинаковые. Заранее спасибо.  | 
| 
		 
			 
			#2  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Так мудрёно написал! Выложи ка ещё и исходник! 
		
	
		
		
		
		
		
	
		
		
	
	
	1) Создаёшь второй битмап - Код: 
	var image2:TBitmap; ... image2:= TBitmap.Create; Код: 
	Image2.Width:=IntToStr(Edit1.Text) Код: 
	Image2.Height:=IntToStr(Edit2.Text) Обрати внимание, что здесь я использовал два TEdit! Я просто не знаю, как у тебя записывается оба значения в один TEdit(нужен исходник) А с участком картины я потом напишу, щас времени нет, ok?  | 
| 
		 
			 
			#3  
			
			
			
			
		 
		
		
	 | 
||||
		
		
  | 
||||
| 
	
	
		
			
			 Цитата: 
	
 Код: 
	var xp, xy : Integer; ... For xp := 0 to Image1.Width do For yp := 0 to Image1.Height do If Image1.Pixels[xp,yp] <> Image2.Pixels[xp,yp] then Image3.Pixels[xp,yp] := clRed; Цитата: 
	
 Код: 
	var r, g, b : array [0..1000, 0..1000] of byte; //тут могут быть ошибки, нужен 2 мерный массив xp, xy : Integer; ... For xp := 0 to Image1.Width do For yp := 0 to Image1.Height do begin r := GetRValue(Image1.Pixels[xp,yp]); g := GetGValue(Image1.Pixels[xp,yp]); b := GetBValue(Image1.Pixels[xp,yp]); end;   Однако лучше Юзай scanlineЦитата: 
	
 Цитата: 
	
 Ты тут случаем не про выделение "резиновым" квадратом говоришь? ![]()  |