社区
C++ Builder
帖子详情
AlphaBlend函数如何用?
yy2001
2003-11-06 09:31:56
请教:AlphaBlend函数如何用?我看MSDN没看明白
...全文
132
5
打赏
收藏
AlphaBlend函数如何用?
请教:AlphaBlend函数如何用?我看MSDN没看明白
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
tccsdn
2003-11-07
打赏
举报
回复
UP
pp616
2003-11-07
打赏
举报
回复
sorry 不是255 是 250
代码中的255是AlphaBlend的参数之一。
pp616
2003-11-07
打赏
举报
回复
BOOL AlphaBlend(
HDC hdcDest, // 目标DC
int nXOriginDest, // 目标左上角横坐标
int nYOriginDest, // 目标左上角纵坐标
int nWidthDest, // 目标区域宽度
int nHeightDest, // 目标区域高度
HDC hdcSrc, // 资源DC
int nXOriginSrc, // 资源区域左上角横坐标
int nYOriginSrc, // 资源区域左上角纵坐标
int nWidthSrc, // 资源区域宽度
int nHeightSrc, // 资源区域高度
BLENDFUNCTION blendFunction // AlphaBlend选项
);
给你一小例子
在Form上放两个Image然后给他们加载图象。再放一个Panel用来显示混合后的图象。
在.h中加入
void __fastcall proc(TMessage &msg);
.cpp中加入
TWndMethod ms;
void __fastcall TForm1::FormCreate(TObject *Sender)
{
ms=panel->WindowProc;
panel->WindowProc =proc;
}
//子类化Panel
void __fastcall TForm1::proc(TMessage &msg)
{
if(msg.Msg==WM_PAINT)
{
HDC dc,mdc;
HBITMAP m_bmp;
PAINTSTRUCT ps;
HDC dcForCross,dcForLantern;
BLENDFUNCTION m_bf;
m_bf.BlendOp = AC_SRC_OVER;
m_bf.BlendFlags = 0;
m_bf.SourceConstantAlpha =255;
m_bf.AlphaFormat = 0;
dc=BeginPaint(panel->Handle,&ps);
mdc=CreateCompatibleDC(dc);
m_bmp=CreateCompatibleBitmap(dc,panel->Width,panel->Height);
SelectObject(mdc,m_bmp);
AlphaBlend(mdc,0,0,250,250,Image1->Canvas->Handle,0,0,250,250,m_bf);
m_bf.SourceConstantAlpha =100;
AlphaBlend(mdc,0,0,250,250,Image2->Canvas->Handle,0,0,250,250,m_bf);
BitBlt(dc,0,0,250,250,mdc,0,0,SRCCOPY);
DeleteObject(m_bmp);
DeleteDC(mdc);
EndPaint(panel->Handle,&ps);
return;
}
ms(msg);
}
void __fastcall TForm1::FormDestroy(TObject *Sender)
{
panel->WindowProc=ms;
}
代码中的255是因为我的Image1 Image2 panel 宽和高都是255。
如果你不是的。请改成相应的xxx->Width or xxx->Height
yy2001
2003-11-07
打赏
举报
回复
pp616(游戏全删了) :
谢谢你的例子,可我怎么试了后panel上显示的是一片黑?
fatwave
2003-11-06
打赏
举报
回复
设置窗体为半透明,但只是一闪而过!!没有什么用?
精选_使用
Alpha
Blend
函数
实现位图半透明绘制_源码打包
使用
Alpha
Blend
函数
实现位图半透明绘制
使用
Alpha
Blend
函数
使用
Alpha
Blend
函数
生成透明启动画面的示例应用程序
Microsoft
Blend
2019/C#/.NET/MVVM/WCF/XAML/WPF/UWP
如果你正在使用WPF、UWP技术进行开发,你一定需要学习Microsoft
Blend
,在这里你会发现,只需动动鼠标,你就可以迅速开发出又酷、又炫、又华丽应用程序界面,而系统自动为你生成全部的XAML代码。从此告别手工编写...
Alpha
Blend
图片透明过渡动画特效
这个代码详细示例了API
函数
Alpha
Blend
把图片透明过渡的动画特效,一个比较易学的示例.
Alpha
Blend
可编程通道实现Color混合,
Alpha
混合,实现一些透明效果.
C++ Builder
13,825
社区成员
102,679
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章