社区
嵌入开发(WinCE)
帖子详情
EVC下如何实现位图的透明效果?(高分请教高手)
wh_peng
2008-11-06 12:15:33
如题,先谢谢了
...全文
350
27
打赏
收藏
EVC下如何实现位图的透明效果?(高分请教高手)
如题,先谢谢了
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
27 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
springsunglow
2008-12-07
打赏
举报
回复
[Quote=引用 23 楼 wh_peng 的回复:]
谢谢楼上的
但为什么一定要乘以256吗?
我乘以512,1024然后再相应位移9位和10位,当透明度比较小的时候,会出现失真的情况,但是乘以256就不会的啊
[/Quote]
按道理是不会出现这样的问题,你是不是把
UINT iFixTransparency = (UINT)(iTransparency * 256);
UINT FixTransparency0 = (UINT)(Transparency0 * 256);
改为
unsigned short iFixTransparency = (UINT)(iTransparency * 256);
unsigned short FixTransparency0 = (UINT)(Transparency0 * 256);
之类的十六位整型了?这样的话会导致溢出的(而乘于256刚好不会溢出),要不你把代码贴出来,我们来看看哪里可能有问题?
xqhrs232
2008-11-18
打赏
举报
回复
mark
wh_peng
2008-11-18
打赏
举报
回复
可来改结贴了,哎。。。
wh_peng
2008-11-13
打赏
举报
回复
谢谢楼上的
但为什么一定要乘以256吗?
我乘以512,1024然后再相应位移9位和10位,当透明度比较小的时候,会出现失真的情况,但是乘以256就不会的啊
springsunglow
2008-11-13
打赏
举报
回复
你的事ARM处理器吗?在循环外先做浮点转整数的工作,然后在循环内只做整数运算试试。
BYTE btB,btG,btR,btB1,btG1,btR1;
UINT iFixTransparency = (UINT)(iTransparency * 256);
UINT FixTransparency0 = (UINT)(Transparency0 * 256);
for(int i = 0 ; i < nHeight ; i ++)
{
for(int j = 0 ; j < nWidth ; j++)
{
btB = pbtPixels[i * nWidth * nPixelSize + j * nPixelSize];
btG = pbtPixels[i * nWidth * nPixelSize + j * nPixelSize + 1 ];
btR = pbtPixels[i * nWidth * nPixelSize + j * nPixelSize + 2 ];
btB1 = pbtPixels1[i * nWidth * nPixelSize + j * nPixelSize];
btG1 = pbtPixels1[i * nWidth * nPixelSize + j * nPixelSize + 1];
btR1 = pbtPixels1[i * nWidth * nPixelSize + j * nPixelSize + 2];
btB = ((btB1 * iFixTransparency + FixTransparency0 * bt)>>8);
btG = (btG1 * iFixTransparency + FixTransparency0 * btG)>>8);
btR = ((btR1 * iFixTransparency + FixTransparency0 * btR)>>8);
pbtPixels[i * nWidth * nPixelSize + j * nPixelSize] = btB ;
pbtPixels[i * nWidth * nPixelSize + j * nPixelSize + 1] = btG;
pbtPixels[i * nWidth * nPixelSize + j * nPixelSize + 2] = btR;
}
}
wh_peng
2008-11-12
打赏
举报
回复
[Quote=引用 19 楼 91program 的回复:]
引用 18 楼 wh_peng 的回复:
听说嵌入汇编可以大大提高速度,可是我不懂汇编啊
在EVC中如何嵌入汇编呢?
等待懂汇编的高手
不用想这个问题了,效率也提高不了多少,特别是在应用层。
[/Quote]
----------------------------------------------
哎:)
lijinyan3000
2008-11-12
打赏
举报
回复
学习。
91program
2008-11-12
打赏
举报
回复
[Quote=引用 18 楼 wh_peng 的回复:]
听说嵌入汇编可以大大提高速度,可是我不懂汇编啊
在EVC中如何嵌入汇编呢?
等待懂汇编的高手
[/Quote]
不用想这个问题了,效率也提高不了多少,特别是在应用层。
wh_peng
2008-11-12
打赏
举报
回复
听说嵌入汇编可以大大提高速度,可是我不懂汇编啊
在EVC中如何嵌入汇编呢?
等待懂汇编的高手
wh_peng
2008-11-11
打赏
举报
回复
继续等待
wh_peng
2008-11-11
打赏
举报
回复
哎
载舟之水
2008-11-10
打赏
举报
回复
自己写的和系统那个效率是差不多的,而且你问题没说清楚,要的是半透明的效果,而不是透明效果。
你可以考虑不用所有像素都做alpha混合运算的
91program
2008-11-10
打赏
举报
回复
如果要实现半透明,可以试试DirectDraw的overlay,效率会好一些。
wh_peng
2008-11-10
打赏
举报
回复
[Quote=引用 13 楼 nbcool 的回复:]
自己写的和系统那个效率是差不多的,而且你问题没说清楚,要的是半透明的效果,而不是透明效果。
你可以考虑不用所有像素都做alpha混合运算的
[/Quote]
--------------------------------------------------------------------------------
半透明效果的话,就是乘以0.5,相当于向右位移一位,这时候可以用位移代替乘法,这样速度是很快的,
但是透明度不是0.5的话不能这样替换了,所以按以上的方法,速度很慢,不知道如何优化
wh_peng
2008-11-08
打赏
举报
回复
[Quote=引用 11 楼 lenux 的回复:]
这个问题貌似被提过多次了。
lz为什么不先搜索一下历史记录呢!!
[/Quote]
-----------------------------
是吗
beyondma
2008-11-07
打赏
举报
回复
TransparentBlt()这个是画掩码,比如你一张方图,只有中间的圆形区域是图像信息,那么你就把背景色设上,这样再画这幅图的时候背景就会被透明了,还有个ALPHABLEN,也就是@混合,是把一幅图透明的贴在另一幅图上。不知道你需求的是哪个,看看GDI的相关资料吧。
11000000
2008-11-07
打赏
举报
回复
过来学习。
Reallyu
2008-11-07
打赏
举报
回复
还有 TransparentImage, 呵呵,来混分
lenux
2008-11-07
打赏
举报
回复
这个问题貌似被提过多次了。
lz为什么不先搜索一下历史记录呢!!
wh_peng
2008-11-07
打赏
举报
回复
[Quote=引用 9 楼 BEYONDMA 的回复:]
不是吧,都说了系统自带@混合的API了:)ALPHABLEND啊。
[/Quote]
--------------------------------------------------
ALPHABLEND是WINCE5.0以上版本才能用吧
我用的是WINCE4.0
加载更多回复(6)
EVC
下按钮加载
位图
在
EVC
环境下
实现
了按钮加载
位图
,该程序已实验成功。
EVC
下
实现
字幕的滚动显示
效果
EVC
下
实现
字幕的滚动显示
效果
:
实现
字幕从左往右滚动显示,达到实时显示新闻消息的
效果
。
企业级 VMware vSphere 6.7虚拟化技术配置与管理(下)
第1章 《VMware vSphere 6.7 vMotion配置与管理》主要内容 本章我们详细介绍了冷迁移、通过 vMotion 迁移、通过 Storage vMotion 迁移、CPU 兼容性和
EVC
、在 vSphere Client中迁移已关闭电源或已挂起的虚拟机、将...
实现
图象的
透明
和使用
EVC
实现
小人动画
效果
实现
图象的
透明
和使用
EVC
实现
小人动画
效果
计算机嵌入式实验报告
EVC
中直接加载
位图
文件
EVC
中直接加载
位图
文件,
EVC
中直接加载
位图
文件
嵌入开发(WinCE)
19,502
社区成员
41,568
社区内容
发帖
与我相关
我的任务
嵌入开发(WinCE)
硬件/嵌入开发 嵌入开发(WinCE)
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章