社区
嵌入开发(WinCE)
帖子详情
图片渐进渐出效果
wh_peng
2009-02-07 12:16:45
RT,要实现图片渐进渐出效果,
我是通过改变图片透明度来做的,但是这样速度太慢了,不行啊;
有什么好的算法或者资料吗?
谢谢!
...全文
567
29
打赏
收藏
图片渐进渐出效果
RT,要实现图片渐进渐出效果, 我是通过改变图片透明度来做的,但是这样速度太慢了,不行啊; 有什么好的算法或者资料吗? 谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
29 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hemingxiang
2009-12-17
打赏
举报
回复
直观的方法是:
1。保存前后两张图片各象素的RGB值,
2,保存前后两张图各对应象素RGB差值除以N后的值D(i,j),
3。前一张图像的各RGB每次减去对应的D(i,j)后,进行显示,N次后过度到后一张图像,
我的电脑上500x400的图片全屏显示要20秒
xajhuang
2009-02-16
打赏
举报
回复
[Quote=引用 16 楼 wh_peng 的回复:]
引用 15 楼 xajhuang 的回复:
楼上说的 AlphaBlend API
最好的答案,不过这个最少需要 WinCE 5.0 的支持,还要你的 PB 中添加了这个选项才能用
-----------------------------------------------
我用的版本是Wince4.0。
那没有其它方法了吗
[/Quote]
那就只有按找上面帖子里面的公式 自己计算像素的RGB值了
navi_dx
2009-02-16
打赏
举报
回复
这个方法计算一个像素Alpha混合要6次乘法,确实比较慢,如果用16位色计算,一个像素2次乘法就够了
gelu1040
2009-02-16
打赏
举报
回复
闭塞:一帧图象发送完成后再显示,送到GRAM 的数据不是一进去就更新显示器的.
一般如果用显示效果的,过程都会持续在秒级,所以这个跟CUP的实行速度没多大关系,一般都可以胜任.
看看驱动,驱动不提供自己研究显示控制器加上
wh_peng
2009-02-16
打赏
举报
回复
[Quote=引用 27 楼 xajhuang 的回复:]
引用 16 楼 wh_peng 的回复:
引用 15 楼 xajhuang 的回复:
楼上说的 AlphaBlend API
最好的答案,不过这个最少需要 WinCE 5.0 的支持,还要你的 PB 中添加了这个选项才能用
-----------------------------------------------
我用的版本是Wince4.0。
那没有其它方法了吗
那就只有按找上面帖子里面的公式 自己计算像素的RGB值了
[/Quote]
-----------------------------------------------
我先试试
wh_peng
2009-02-14
打赏
举报
回复
[Quote=引用 21 楼 gelu1040 的回复:]
引用 11 楼 yihan7h 的回复:
说一下大概思路,分别获取2张图所有像素点的RGB分量:
r0 g0 b0 , r3 g3 b3
i=0;
while(i <=255)
{
r2=(r0*i+ r3*(255-i))/255;
g2=(g0*i+ g3*(255-i))/255;
b2=(b0*i+ b3*(255-i))/255;
}
sleep(sometime);
显示获得的新的像素点阵……
这样可以实现淡入淡出
同意11楼的方法思路.补充的是在循环里面加上
i+=d;//阶跃大小,
效果好点
别忘记整图数据送出后 …
[/Quote]
----------------------------------------
我想问一下,什么是硬件系统具有"闭塞"功能?我不懂硬件的,怎么知道硬件有没有这个功能?
还有就是说这个算法我就担心速度很慢,毕竟是CE系统,又不是PC
yihan7h
2009-02-14
打赏
举报
回复
速度慢不慢你试试才知道,应该没有问题。
sleep(sometime);//视你渐变一次的需要的时长而定
xajhuang
2009-02-13
打赏
举报
回复
楼上说的 AlphaBlend API
最好的答案,不过这个最少需要 WinCE 5.0 的支持,还要你的 PB 中添加了这个选项才能用
zpk1234
2009-02-13
打赏
举报
回复
用AlphaBlend函数
通过改变结构体BLENDFUNCTION的SourceConstantAlpha的值即可实现淡入淡出,
SourceConstantAlpha = 255时 完全不透明
SourceConstantAlpha = 0 时 完全透明
gelu1040
2009-02-13
打赏
举报
回复
[Quote=引用 11 楼 yihan7h 的回复:]
说一下大概思路,分别获取2张图所有像素点的RGB分量:
r0 g0 b0 , r3 g3 b3
i=0;
while(i <=255)
{
r2=(r0*i+ r3*(255-i))/255;
g2=(g0*i+ g3*(255-i))/255;
b2=(b0*i+ b3*(255-i))/255;
}
sleep(sometime);
显示获得的新的像素点阵……
这样可以实现淡入淡出
[/Quote]
同意11楼的方法思路.补充的是在循环里面加上
i+=d;//阶跃大小,
效果好点
别忘记整图数据送出后
delayms(dtime);
如果你要求的时间在秒级别的话,效果都是一样的,
问题的必要条件是:你的硬件系统具有"闭塞"功能. 不然,再快的CPU也做不到你要的效果
jinlking
2009-02-13
打赏
举报
回复
怎么不行的?
不断改变透明度就可以了啊
如果图片很大,或者硬件不行的话可能会很卡
wh_peng
2009-02-13
打赏
举报
回复
[Quote=引用 17 楼 jinlking 的回复:]
自己实现透明算法
[/Quote]
-----------------------------
透明我已经做了,用控制透明度来实现淡进淡出效果不行
LinHanLao
2009-02-13
打赏
举报
回复
看看DirectDraw方面的资料,可能有这方面的接口
jinlking
2009-02-13
打赏
举报
回复
自己实现透明算法
wh_peng
2009-02-13
打赏
举报
回复
[Quote=引用 15 楼 xajhuang 的回复:]
楼上说的 AlphaBlend API
最好的答案,不过这个最少需要 WinCE 5.0 的支持,还要你的 PB 中添加了这个选项才能用
[/Quote]
-----------------------------------------------
我用的版本是Wince4.0。
那没有其它方法了吗
jgj58
2009-02-12
打赏
举报
回复
记得在VC开发里有位图动画技术可以实现图片从隐到显的效果。在VC++100例有例子。
楼主可以参考移植过来。
wh_peng
2009-02-10
打赏
举报
回复
[Quote=引用 11 楼 yihan7h 的回复:]
说一下大概思路,分别获取2张图所有像素点的RGB分量:
r0 g0 b0 , r3 g3 b3
i=0;
while(i <=255)
{
r2=(r0*i+ r3*(255-i))/255;
g2=(g0*i+ g3*(255-i))/255;
b2=(b0*i+ b3*(255-i))/255;
}
sleep(sometime);
显示获得的新的像素点阵……
这样可以实现淡入淡出
[/Quote]
------------------------------------------
这样对每个像素计算的算法,效率,速度不是会很慢吗?这样效果不行的
yihan7h
2009-02-10
打赏
举报
回复
或者用AlphaBlend 也可以……
yihan7h
2009-02-10
打赏
举报
回复
说一下大概思路,分别获取2张图所有像素点的RGB分量:
r0 g0 b0 , r3 g3 b3
i=0;
while(i<=255)
{
r2=(r0*i+ r3*(255-i))/255;
g2=(g0*i+ g3*(255-i))/255;
b2=(b0*i+ b3*(255-i))/255;
}
sleep(sometime);
显示获得的新的像素点阵……
这样可以实现淡入淡出
wh_peng
2009-02-09
打赏
举报
回复
[Quote=引用 2 楼 91program 的回复:]
LZ的透明效果具体是如何实现的?
如果LZ想要透明那样的效果,在EVC下估计没有什么现成的好的算法。只能自己研究算法!
[/Quote]
---------------------------------------------------------------------
透明我是通过对原位图和底图进行乘法实现的。
难道以前没人做过这个算法吗,也没什么资料吗
加载更多回复(9)
android 欢迎页多张
图片
渐进
放大淡出切换
效果
android 欢迎页多张
图片
渐进
放大淡出切换
效果
Qt实现
图片
渐进
渐出
效果
图片
渐进
渐出
效果
.h文件 #ifndef CHANGEPICTURE_H #define CHANGEPICTURE_H #include #include #include #include #include class ChangeP
Android
渐进
式加载
图片
,
渐进
式加载 - 基础讲解
前言:我们在PC端用浏览器看
图片
的时候,经常是先看到一张模糊图,然后再渐渐的变得清晰,这种情况在看漫画的时候尤其常见(模糊图如下),这种
效果
就叫做
渐进
式加载.
渐进
式加载能够大大的提升体验感,我们先来了解一下
渐进
...
Vue
图片
渐进
式加载封装
图片
渐进
式加载 概念:
渐进
式加载
图片
思路: 通过
图片
标签img 中 onload 事件 优先加载 模糊
图片
做法: 模糊
图片
加载完成后触发onload事件, onload事件更改data中数据加载真实
图片
渐进
式
图片
子组件的封装 该
渐进
...
如何把
图片
转换成
渐进
式
图片
优化
图片
加载体验,可以把
图片
改为
渐进
式
图片
。加载
效果
是先模糊,再清晰。 如果把
图片
转成
渐进
式
图片
呢? PS 编辑修改 代码转换 import os from PIL import Image # pip3 install pillow def handleImage...
嵌入开发(WinCE)
19,504
社区成员
41,569
社区内容
发帖
与我相关
我的任务
嵌入开发(WinCE)
硬件/嵌入开发 嵌入开发(WinCE)
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章