Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Полупрозрачная окружность [D5, D6, Win95/98, WinME, Win2k, WinXP]


vidiv ©   (2003-02-03 05:22:00) 

Господа, как нарисовать на конвасе окружность с заданым радиусом, цветом, толщиной линии и, саме главное, заданой прозрачностью?


MBo   (2003-02-03 07:56:00) [1]

procedure MergeBitmaps(BM1, BM2, BM3 : TBitmap; Alpha : byte);
var
bf:TBlendFunction;
begin
if not Assigned(BM3) then
BM3:=TBitmap.Create;
BM3.Assign(BM1);
bf.BlendOp:=AC_SRC_OVER;
bf.BlendFlags:=0;
bf.SourceConstantAlpha:=Alpha;
bf.AlphaFormat:=0;
//BM2.Width:=BM3.Width;
//BM2.Height:=BM3.Height;
AlphaBlend(BM3.Canvas.Handle,0,0,BM3.Width,BM3.Height,
BM2.canvas.handle,0,0,BM2.Width,BM2.Height,bf);
end;

procedure TForm1.Button1Click(Sender: TObject);
var b1,b2,b3:TBitmap;
begin
b1:=TBitmap.Create;
b2:=TBitmap.Create;
b3:=TBitmap.Create;
b1.LoadFromFile("e:\4.bmp");
Image1.Picture.assign(b1);
b2.LoadFromFile("e:\5.bmp");
b2.PixelFormat:=pf24bit;
Image2.Picture.assign(b2);
MergeBitmaps(B1, B2, B3, 100);//0..255
Image3.Picture.assign(b3);
b1.free;
b2.free;
b3.free;
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо