Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.05.28;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.029 c
2-1147111725
Nicky
2006-05-08 22:08
2006.05.28
Ошибка при проссмотре отчета


6-1138086770
clickmaker
2006-01-24 10:12
2006.05.28
Indy 10 - IdFtp - HTTP Proxy with FTP support


15-1146466654
begin...end
2006-05-01 10:57
2006.05.28
Проблема с MS Word 2000


4-1141671032
spyrytus
2006-03-06 21:50
2006.05.28
HOOK на комбинацию клавиш


2-1147099014
Mr tray
2006-05-08 18:36
2006.05.28
узнать объект в чужом окне, на котором (объекте) сейчас фокус