|  | 
 
 | 
| 
 | |||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны | 
|  | 
|  | Опции темы | Поиск в этой теме | Опции просмотра | 
|  | 
| 
			 
			#1  
			
			
			
			
		 | |||
| 
 | |||
|  убрать фон загруженной картинки в TcxImage Есть Image.Style.Color:=clGray(серый) загружаю картинку и получаю в серой клетке картинка на белом фоне Как убрать белый фон? вариант1 Image.Picture.Bitmap.TransparentColour:=clWhite; убирает картинку бесследно(остается серая клеть) вариант2(через з) for k:=1 to Image.Picture.Width do for i:=1 to Image.Picture.height do if Image.Picture.Bitmap.Canvas.Pixels[k,i]=clWindow then Image.Picture.Bitmap.Canvas.Pixels[k,i]:=clGray; дает такой же результат Пожалуйста, подскажие не сложный выход! | 
| 
			 
			#2  
			
			
			
			
		 | ||||
| 
 | ||||
|   А пробовали?  Код: Properties.GraphicTransparency := gtTransparent | 
| 
			 
			#3  
			
			
			
			
		 | |||
| 
 | |||
|   Пробывал. Результат неудовлетворительный(http://www.fayloobmennik.net/981712) Последний раз редактировалось Lookas007, 17.09.2011 в 12:25. | 
| 
			 
			#4  
			
			
			
			
		 | ||||
| 
 | ||||
|   За цвет назначаемый прозрачным отвечает обычно левый верхний пиксель картинки. Если у вас фон не однотонно белый, или левый верхний пиксель не белый, то и прозрачность автоматом не вычисляется. Загрузите в графический редактор картинку и проверьте одинаковы ли цвета у ключевого пикселя и фона картинки. | 
| 
			 
			#5  
			
			
			
			
		 | |||
| 
 | |||
|   Навел левый верхний угол(несколько пикселей включая самый левый и верхний) белым цветом в пейнте(хотя он и весь фон каринки и так белые) constructor TPole.Create(k, i, raz:integer;AOwner : TComponent); begin Image:=TcxImage.Create(nil); ....... Image.Style.Color:=clGray; end; procedure TDoska.PosBeg;//расставляем фигурки var k,i:integer; begin Image.Picture.LoadFromFile('Kon.jpg'); with Image.Picture do begin Bitmap.TransparentColor:= Bitmap.Canvas.Pixels[1,1]; end; end; клеть остается пустой. Если //Bitmap.TransparentColor:= Bitmap.Canvas.Pixels[1,1]; вырисовывается в серой клетке картинка фигурки на белом фоне(как в предыдущей ссылке) | 
| 
			 
			#6  
			
			
			
			
		 | |||
| 
 | |||
|   пирчем если сделать  Image.Properties.GraphicTransparency := gtTransparent; Image.Picture.Bitmap.Transparent:=false; for k:=1 to Image.Picture.Width do for i:=1 to Image.Picture.height do Image.Picture.Bitmap.Canvas.Pixels[k,i]:=clWhite; то клеть остается цвета clGray |