![]()  | 
	
 
  | 
		
			
  | 	
	
	
		
		|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны | 
![]()  | 
	
	
| 
		 | 
	Опции темы | Поиск в этой теме | Опции просмотра | 
| 
		 
			 
			#31  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Я надеюсь на это. Черкани пару строк кода плз... 
		
	
		
		
		
		
		
	
		
		
	
	
	Учти только что MS Paint тоже пипетку игнорит...  | 
| 
		 
			 
			#32  
			
			
			
			
		 
		
		
	 | 
||||
		
		
  | 
||||
| 
	
	
		
			
			 Цитата: 
	
 Цитата: 
	
 Либо успешно сохраняется и значит можно прочитать цвет пикселя, либо сохраняется например чёрный фон и поэтому и нельзя получить цвет пикселя. А если получать цвет пикселя не через "TBitmap.Canvas.Pixels", а через "TBitmap.ScanLine"?  | 
| 
		 
			 
			#33  
			
			
			
			
		 
		
		
	 | 
||||
		
		
  | 
||||
| 
	
	
		
			
			 paint игнорирует пипетку в открытом файле bmp только при запущеной игре или при закрытой тоже? если paint открыл файл, значит информация о цветах пикселей в нем есть, т.е. считать байты цвета получится. 
		
	
		
		
		
		
			
		
		
		
		
	
		
		
	
	
	 | 
| 
		 
			 
			#34  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Когда игра открыта Paint игнорит пипетку т.е. цвет 000000. Когда игра закрывается даже без перезапуска Paint все работает. Вот такая хрень ) 
		
	
		
		
		
		
		
	
		
		
	
	
	 | 
| 
		 
			 
			#35  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Как там побайтно их считывать... пример покажи плз. Дальше разберусь. 
		
	
		
		
		
		
		
	
		
		
	
	
	 | 
| 
		 
			 
			#36  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Procedure ScreenShot(WidthCF,HeightCF:Integer); 
		
	
		
		
		
		
		
	
		
		
	
	
	Var Bmp : TBitmap; DC : HDC; NameFile:string[20]; Today : TDateTime; x1,x2,x3:integer; Color_1 : TColor; Begin DateSeparator:='.'; TimeSeparator:='.'; Today:=Now; NameFile:=DateToStr(Today)+'_'+TimeToStr(Today); //-------------------------------------------------- Bmp := Tbitmap.Create; Bmp.Height := HeightCF; Bmp.Width := WidthCF; DC := GetDC(Wnd); Bitblt(Bmp.Canvas.Handle, 0, 0, WidthCF, HeightCF, DC, 0, 0, SRCCOPY); Try Color_1 := Bmp.Canvas.Pixels[Икс),Игрик)];// вот тут как бы 000000... Bmp.SaveToFile('C:\'+ NameFile + '.bmp');// а тут все норм ) Except End; Bmp.Free; End;  | 
| 
		 
			 
			#37  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 попробовал китайский пример с getfrontbuffer, вместо видео чёрный фон, на этот случай китайцы рекомендуют что-то вроде directx overlay hooks, но мне это уже не интересно 
		
	
		
		
		
		
			
		
		
		
		
	
		
		
	
	
	Цитата: 
	
  | 
| 
		 
			 
			#38  
			
			
			
			
		 
		
		
	 | 
||||
		
		
  | 
||||
| 
	
	
		
			
			 кстати да, ScanLine то пробовал? в справке образец есть. 
		
	
		
		
		
		
			
		
		
		
		
	
		
		
	
	
	 | 
| 
		 
			 
			#39  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Щас будем пробовать... 
		
	
		
		
		
		
		
	
		
		
	
	
	 | 
| 
		 
			 
			#40  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Что то я не въеду как при его помощи я получу цвет конкретного пикселя... Он же вроде всю строку в себя считывает...  
		
	
		
		
		
		
		
	
		
		
	
	
	   Туповатенький я с графикой. | 
| 
		 
			 
			#41  
			
			
			
			
		 
		
		
	 | 
||||
		
		
  | 
||||
| 
	
	
		
			
			 Цитата: 
	
  | 
| 
		 
			 
			#42  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Спасибо, я поковыряю сегодня и отпишусь  
		
	
		
		
		
		
		
	
		
		
	
	
	![]()  | 
| 
		 
			 
			#43  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Всем спасибо выход найден. Переписал код на С# и проблема отпала. Тему можно закрывать... 
		
	
		
		
		
		
		
	
		
		
	
	
	 |