|
|
Регистрация | << Правила форума >> | 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 |