社区
Windows客户端开发
帖子详情
如何实现PNG 在mobile 6.0上透明呢?
ChamPagneZ
2009-06-23 09:38:24
加精
找好了好长时间,不得其法.
gdiplus在pc很好,移到mobile上没有效果.
有哪位兄弟做过,高分伺候.
是C++.
网络上太多C#的实现,自己看不太明白,如果哪位知道从C#转到C++,也麻烦告知一二
...全文
1183
36
打赏
收藏
如何实现PNG 在mobile 6.0上透明呢?
找好了好长时间,不得其法. gdiplus在pc很好,移到mobile上没有效果. 有哪位兄弟做过,高分伺候. 是C++. 网络上太多C#的实现,自己看不太明白,如果哪位知道从C#转到C++,也麻烦告知一二
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
36 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
mir5465
2011-04-20
打赏
举报
回复
[Quote=引用 11 楼 cytlyy 的回复:]
参考:
hBitmap=LoadBitmap(g_hInst,MAKEINTRESOURCE (IDB_BITMAP6));//这里可以用其他方法加载其他格式的图片,如SHLoadImageFile
hdcMem = CreateCompatibleDC(hDC);
SelectObject(hdcMem,hBitmap);
bf.BlendOp = AC_SRC_OVE……
[/Quote]
这个方法载入的图片,如果有圆角,圆角区域用其他颜色标志,这样显示出来的图片忽略色是无法去掉的,尝试过,透明是可以实现的,但是碰到上述情况是无法解决!!!
ChamPagneZ
2009-06-25
打赏
举报
回复
我说怎么结贴了还有人在回,上主页了,丢人啊。
那个谁,搞C#的,撤下来吧,感觉这没有什么讨论价值。
ul120851
2009-06-25
打赏
举报
回复
SDFSDFSDFSDFASFDASDF
ul120851
2009-06-25
打赏
举报
回复
SDFFFFFFFFFFFFFFFFFFFFFF
yylang1987
2009-06-25
打赏
举报
回复
不知道, 竟然还有这种问题...
beautiful200
2009-06-25
打赏
举报
回复
回答的都不错,学到了
datouguai
2009-06-25
打赏
举报
回复
恩 挺好的 这样错了
hfrll
2009-06-25
打赏
举报
回复
加油!!
chaowendai
2009-06-25
打赏
举报
回复
楼上乱码了?赫赫
boxcc123
2009-06-25
打赏
举报
回复
这个也可以?
ChamPagneZ
2009-06-24
打赏
举报
回复
结贴了
用COM实现了,太慢,没意义.
jspboy2008
2009-06-24
打赏
举报
回复
我顶
QQ_456
2009-06-24
打赏
举报
回复
up
lb198768
2009-06-24
打赏
举报
回复
很不错啊
oh_my_god
2009-06-24
打赏
举报
回复
LoadBitMap是无法实现透明的,你只能用com来做
IImagingFactory
IImage
通过com的方式加载png,draw.这个我在mobile6下是没问题的
li_guotao
2009-06-24
打赏
举报
回复
[Quote=引用 11 楼 cytlyy 的回复:]
参考:
hBitmap=LoadBitmap(g_hInst,MAKEINTRESOURCE (IDB_BITMAP6));//这里可以用其他方法加载其他格式的图片,如SHLoadImageFile
hdcMem = CreateCompatibleDC(hDC);
SelectObject(hdcMem,hBitmap);
bf.BlendOp = AC_SRC_OVER;
bf.BlendFlags = 0 ;
bf.SourceConstantAlpha = 170;
bf.AlphaFormat = 0;
AlphaBlend(hDC, x, y, width, height, h…
[/Quote]
同意此楼的做法,不过最好将Loadbitmap修改成
IImagingFactory* pImageFactory = NULL;
IImage* pImage = NULL;
方法来处理会更好。
大饼哥-
2009-06-23
打赏
举报
回复
wm5.0sdk以后的话,就用AlphaBlend可以实现透明。
或者,你直接加载一个透明图片也可以的。
IMAGEINGFACTORY这个应该更方便吧,不过这个我没有用,上面2个方法我都试过,可以的。
LZ可以写测试程序试试。。。。
ChamPagneZ
2009-06-23
打赏
举报
回复
button控件不能成功的原因,我觉得是背景窗口根本不会去画属于button窗口的区域,这让问题回到原点,必须得到button的区域的位图!!
除非不用button,这个是项目里面的东西,改动会很大,可行性不高啊
beyondma
2009-06-23
打赏
举报
回复
IMAGE和IMAGEFACTORY是正解。
cytlyy
2009-06-23
打赏
举报
回复
[Quote=引用 12 楼 ChamPagneZ 的回复:]
引用 11 楼 cytlyy 的回复:
参考:
hBitmap=LoadBitmap(g_hInst,MAKEINTRESOURCE (IDB_BITMAP6));//这里可以用其他方法加载其他格式的图片,如SHLoadImageFile
hdcMem = CreateCompatibleDC(hDC);
SelectObject(hdcMem,hBitmap);
bf.BlendOp = AC_SRC_OVER;
bf.BlendFlags = 0 ;
bf.SourceConstantAlpha = 170;
bf.AlphaFormat = 0;
AlphaBlend(hDC, x, y, width, height, hdcMem , 0, 0, width, height, bf); …
[/Quote]
button的 drawitem的效果应该是同理的,也是颜色的叠加效果。如果你想实现好的效果,最好不用button控件,而直接用ico,或者png图标来代替直接画,这样效果会好很多。也可以符合你的要求。
加载更多回复(15)
wm
6.0
中的一些图标素材
wm
6.0
中的一些图标素材,包括bmp,
png
格式,方便大家设计使用
Neodynamic_Barcode_Professional_
6.0
.2018.508.rar
使用Neodynamic Barcode,您将能够在Windows客户端、Web和RIA、SQL Server Reporting Services和
Mobile
上生成自己的条形码。 它易于使用和使用,您只需几分钟就可以生成自己的条形码。 Neodynamic Barcode还能够...
swf视频转换器(支持很多格式)
2009-01-15 Magic Swf2Avi V
6.0
.9.115 1. HD version, convert swf to HD (high-definition) video for PS3 and Blu-ray Player 2. updated converting engine. 3. updated media burner, supports burn data dvd ...
2007年Windows
Mobile
6.0
发布
在今年6月的MEDC2007上,Microsoft Windows
Mobile
6.0
也将正式与大家见面! 对微软智能手机稍有了解的朋友,一定都会知道Windows
Mobile
操作系统,针对不同平台的移动终端有着不同的版本。就拿目前的Windows
Mobile
...
Windows
Mobile
上
实现
绚丽时钟效果
利用上篇的文章《Windows
Mobile
上
实现
图片任意角度旋转》,可以
实现
效果非常绚丽的始终效果。每个始终我们需要三张图片,钟盘、时针、分针三张
png
图片。如下图: 图片是从android中取出的。
实现
代码如下:void ...
Windows客户端开发
7,655
社区成员
18,845
社区内容
发帖
与我相关
我的任务
Windows客户端开发
Windows Phone是微软发布的一款手机操作系统,它将微软旗下的Xbox LIVE游戏、Zune音乐与独特的视频体验整合至手机中。
复制链接
扫一扫
分享
社区描述
Windows Phone是微软发布的一款手机操作系统,它将微软旗下的Xbox LIVE游戏、Zune音乐与独特的视频体验整合至手机中。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章