动态显示待机LOGO的做法 && 刷LOGO出现的问题
来源:互联网 发布:电视机怎么连接网络 编辑:程序博客网 时间:2024/04/23 21:02
我们在做一些产品时,比如液晶显示器的NO SIGNAL待机画面、液晶电视的无电视信号画面等,都需要给出用户一个提示画面在屏幕上随机的动态的显示,这个做法列出如下。注意:以下的显示是固定从左上角开始向右向下移动,移到边框后就反弹回去。如果是随机的显示LOGO画面,用一个rand函数提供位置种子就可以了。
void DispProtec()
{
int startX = 0,startY = 0; //左上角座标(0,0)
int BMPWidth = 24,BMPHight = 16; //屏保图片大小
int LCDWidth = 1024,intLCDHight = 768; //屏幕边框
int Xstep = 4,Ystep = 4; //跳动步长
int XDirect = 1,YDirect = 1; //假设运动方向为右方和方下方为正,左方和上方为负。
for() //循环,除非退出屏保。
{
BMPDiplay(startX,startY); //刷屏
SleepMs(3000); //每3秒刷一次
if(XDirect == 1) //屏保向右移动
{
if((startX + BMPWidth )>LCDWidth) //如果图片已移到最右边
{
XDirect = -1; //图片开始向左
}
else
{
startX += Xstep; //图片向右加步长
}
}
if(XDirect == -1) //屏保向左移动
{
if(startX< 0) //如果图片已移到最左边
{
XDirect = 1; //图片开始向右
}
else
{
startX -= Xstep; //图片向左减步长
}
}
if(YDirect == 1) //屏保向下移动
{
if((startY + BMPHight )>intLCDHight) //如果图片已移到最下边
{
YDirect = -1; //图片开始向上
}
else
{
startY += Ystep; //图片向下加步长
}
}
if(YDire ct == -1) //屏保向上移动
{
if(startY< 0) //如果图片已移到最上边
{
XDirect = 1; //图片开始向下
}
else
{
startY -= Ystep; //图片向上减步长
}
}
}
}
===================================================================================================================
在做手机关机时充电画面的动态显示时,发现一个问题。画面替换时有时会花屏,有时会卡住,另一个较为不解的问题是:按电源键唤醒屏幕后,显示的第一个画面没有对应当前电池度量,而是之前熄屏时显示画面的下一个画面,推测是图像RAM有残留导致。
为什么会有这个问题?应该是跟屏供电有关系,在以前的印象中,刷屏的次序是:刷图像RAM-》屏供电-》背光供电;但是对于有些接口的屏,如果不给屏供电,刷图像RAM是不成功的,这会导致很多意外的刷屏现象,比如花屏。这也可以解释上面那个不解的问题:由于缓冲原因,刷图像时的RAM中保存有LCD当前显示的下一幅画面,背光灭掉后此RAM还是存在的,在下次按电源键唤醒屏幕时,由于屏还没有供电所以第一次刷图像是不成功,亮背光后显示的是之前RAM保存的那副,也就是第一幅被RAM保存的那副覆盖掉了。
所以只要调换上电顺序,做到屏供电-》刷图像RAM-》背光供电,或者屏供电-》背光供电-》刷图像RAM,即可解决上述问题。
- 动态显示待机LOGO的做法 && 刷LOGO出现的问题
- 动态显示待机LOGO的做法 && 刷LOGO出现的问题
- QCOM 开机的LOGO显示
- 界面的美化之动态显示gif图像logo
- android更新LOGO后无法显示新LOGO的原因
- android中如果在手机显示logo不清楚的问题
- 【Android】关于ActionBar无法显示logo的问题
- Android4.4.2从内核logo到init logo到动态logo的分析及定制
- 针对LOGO的半透明图片的显示
- 启动应用显示LOGO再跳转页面出现问题
- 动态生成带logo的二维码
- 动态生成带logo的二维码
- Linux2.6的LOGO制作与显示
- Linux2.6的LOGO制作与显示
- Ubuntu启动不显示logo的解决办法
- android开机充电logo的显示方法
- 怎么在地址栏显示公司的logo
- Linux2.6的LOGO制作与显示
- Scrolling and zooming chart with ChartScroller
- ibaits (七) Like '%' 模糊查询
- 敏捷实践(四)---- 不同人的观点
- 关于C++中算符重载的高级话题 - 从OO暴露接口的角度审视
- rpm 包的使用
- 动态显示待机LOGO的做法 && 刷LOGO出现的问题
- 地理位置信息
- 页面跳转实现方法总结
- WinCE6.0 bootloader 启动分析
- 窗口过程,窗口过程函数
- 我是第一个爱你的男人--the men in your life I loved you first
- WinCE6.0 EBOOT概要
- 经典的Java数据库连接类(适合初学者)
- 阻止或降低分段攻击HotWC3网站注册散列数的方法