C#中图片渐变问题!!!!

wojila 2007-10-09 10:36:15
如题,我有两张图片,想在一个pictrueBox中显示,但是从第一张显示到第二张有一个渐变的效果!
我找了下 需要API:AlphaBlend();但是我不会用,请大侠们帮助在下详细的给点方法!!
...全文
636 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
IThurricane 2007-10-16
  • 打赏
  • 举报
回复
进来学习一下
xiaoliangwh 2007-10-16
  • 打赏
  • 举报
回复
up
REMEX1980 2007-10-15
  • 打赏
  • 举报
回复
C#中Vista风格的进度条
remex 著于2007-7-19 7:31:21
本文介绍在.net framework下,如果做一个Vista风格进度条的用户控件。该文使用的技术是GDI+。

有渐变效果,看看能不能有用处
wojila 2007-10-13
  • 打赏
  • 举报
回复
是的 底楼的同志说到我心声了!!
mmqingfeng 2007-10-10
  • 打赏
  • 举报
回复
之前的回答似乎有些误导了,lz想要的效果是A图片渐变成B图片的样子么?
Optione 2007-10-10
  • 打赏
  • 举报
回复

http://www.codeproject.com/cs/media/perpxalpha_sharp.asp
wojila 2007-10-09
  • 打赏
  • 举报
回复
我说的不是定义,是怎么具体用啊! 定义我都会
woaiwoaiyuyu 2007-10-09
  • 打赏
  • 举报
回复
这个函数有个缺点,就是不支持关键色,不支持Alpha通道。反正一句话,想用简单的,就不要想着太强的功能,一般人也够用了的。
BOOL AlphaBlend(

HDC hdcDest,

// 目标设备环境句柄

int nXOriginDest,

// 目标坐标x

int nYOriginDest,

// 目标坐标y

int nWidthDest,

// 目标宽度

int nHeightDest,

//目标高度

HDC hdcSrc,

//源设备环境句柄

int nXOriginSrc,

// 源坐标x

int nYOriginSrc,

// 源坐标y

int nWidthSrc,

//源宽度

int nHeightSrc,

//源高度

BLENDFUNCTION blendFunction

// 合成方式具体数据结构

);

BLENDFUNCTION定义了在源位图和目标位图之间进行合成的具体方式,其具体数据成员及含义如下:

typedef struct _BLENDFUNCTION {

BYTE BlendOp;//AC_SRC_OVER

BYTE BlendFlags;//必须为零

BYTE SourceConstantAlpha;//位图使用的透明度,0为完全透明、255为正常方式显示

BYTE AlphaFormat;//通常为零,如果源位图为32位真彩色,此值可取为AC_SRC_ALPHA

}BLENDFUNCTION, PBLENDFUNCTION, LPBLENDFUNCTION;

由上面的函数说明我们知道,AlphaBlend能够以特定的透明度来显示一幅位图,那么,如果让AlphaBlend以不同的通道值(从0到255)不断地交替显示两幅图片,这样就实现了“擦除”效果。
wojila 2007-10-09
  • 打赏
  • 举报
回复
能给个准确的实例就 好了!
mmqingfeng 2007-10-09
  • 打赏
  • 举报
回复
那是GDI的函数了,在GDI+里有LinearGradientBrush类,lz可以在MSDN里搜一下,有相关的例子
wojila 2007-10-09
  • 打赏
  • 举报
回复
高手们呢?来解决啊!
给全分!不够再加

110,537

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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