Форум: "Основная";
Текущий архив: 2006.05.28;
Скачать: [xml.tar.bz2];
ВнизTransporent на канве Найти похожие ветки
← →
Uriy (2006-04-19 17:29) [0]Я хочу нарисовать небольшой фон на конве и слева поверх фона небольшое изображение 16*16, но чтобы оно было прозрачным(т.е. transporent). Делаю так, фон рисуется, изображение тоже рисуется но не прозрачное... Помогите пожалуйста что не так...
var
R, Rg: TRect;
Bmp, Bmp2: TBitmap;
...
with Canvas do
begin
Brush.Style := bsClear;
R := ClientRect;
if Assigned(Bmp) then
StretchDraw(R, Bmp) // рисуем фон
else
FillRect(R);
SetBkMode(Handle, TRANSPARENT);
Rg.Left := R.Left + 5;
Rg.Right := Rg.Left + 16;
Rg.Top := R.Top + (R.Bottom - R.Top - 16) div 2;
Rg.Bottom := Rg.Top + 16;
StretchDraw(Rg, Bmp2);
end;
← →
Uriy (2006-04-19 18:03) [1]В Bmp2 это который 16*16 там точно есть рисунок и там фон белый и нижняя левая точка тоже белая(ведь по ней transporent происходит)...
← →
Andy BitOff © (2006-04-19 18:30) [2]
Sh:Trect;
sha:TBitMap;
//Переносим текстуру на главмый холст, делая при этом красный цвет прозрачным
SetBkMode(sha.Canvas.Handle,TRANSPARENT);
Sha.TransparentColor:=$000000ff;
Sha.TransparentMode:=tmFixed;
Sha.Transparent:=True;
can.StretchDraw(sh,sha);
← →
Uriy (2006-04-19 19:45) [3]
> Rg.Left := R.Left + 5;
> Rg.Right := Rg.Left + 16;
> Rg.Top := R.Top + (R.Bottom - R.Top - 16) div 2;
> Rg.Bottom := Rg.Top + 16;
а такой хороший способ задания значений типа Trect? или можно какнибудь подругому? одной функцией какойнибудь? =)
← →
Leonid Troyanovsky © (2006-04-19 19:49) [4]
> Uriy (19.04.06 19:45) [3]
> можно какнибудь подругому? одной функцией какойнибудь? =)
Rect
--
Regards, LVT.
← →
antonn © (2006-04-19 19:55) [5]classes.rect()
← →
Uriy (2006-04-19 20:07) [6]ой я что заметил... и без:
SetBkMode(sha.Canvas.Handle,TRANSPARENT);
Sha.TransparentColor:=$000000ff;
Sha.TransparentMode:=tmFixed;
транспорент работает =)))
просто:
Sha.Transparent:=True;
can.StretchDraw(sh,sha)
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2006.05.28;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.01 c