c++ builder 怎么使用AlphaBlend函数啊

paopaotan 2010-11-11 02:16:46
rt
...全文
71 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
周药师 2010-11-11
  • 打赏
  • 举报
回复
掉了一行了

//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
Byte Transparency ; //透明度
Graphics::TBitmap *Bit,*BitBack;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
BitBack =new Graphics::TBitmap();
BitBack->LoadFromFile("c:\\1.bmp");
Brush->Bitmap = BitBack;


Bit =new Graphics::TBitmap();
Bit->LoadFromFile("c:\\2.bmp");
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
TBlendFunction Blend;
Blend.BlendOp = AC_SRC_OVER;
Blend.BlendFlags = 0;
Blend.AlphaFormat = 0;
Transparency = 100 ; //透明度
Blend.SourceConstantAlpha = Transparency; //设置透明度
::AlphaBlend(Canvas->Handle,
10,
10,
Bit->Width + 10,
Bit->Height + 10,
Bit->Canvas->Handle,
0,
0,
Bit->Width,
Bit->Height,
Blend
);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
{
delete Bit;
delete BitBack;
}
//---------------------------------------------------------------------------

周药师 2010-11-11
  • 打赏
  • 举报
回复
给你个列子

//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
Byte Transparency ; //透明度
Graphics::TBitmap *Bit,*BitBack;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
BitBack =new Graphics::TBitmap();
BitBack->LoadFromFile("c:\\1.bmp");
Brush->Bitmap = BitBack;


Bit =new Graphics::TBitmap();
Bit->LoadFromFile("c:\\2.bmp");
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
Transparency = 255 ;
TBlendFunction Blend;
Blend.BlendOp = AC_SRC_OVER;
Blend.BlendFlags = 0;
Blend.AlphaFormat = 0;
::AlphaBlend(Canvas->Handle,
10,
10,
Bit->Width + 10,
Bit->Height + 10,
Bit->Canvas->Handle,
0,
0,
Bit->Width,
Bit->Height,
Blend
);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
{
delete Bit;
delete BitBack;
}
//---------------------------------------------------------------------------

1,221

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧