网站首页 > 技术教程 正文
在一起玩OLE D屏幕的过程中,当我们需要在画画的同时又要显示文字的时候,会遇到一个尴尬的问题,那就是随着画面的刷新文字会一直不停地闪烁,导致字迹模糊难以辨认。接下来我们就一起想办法解决掉这个问题。
在过去的视频中,我们一起了解过几种,显示英文、数字、汉字还有图片的函数。它们都是把字模数据直接发送到屏幕显存的指定位置,从而显示出需要的内容。而画画函数里的刷新屏幕的函数,同样也是将缓存数组里的数据发送给整个屏幕显存。因此这些函数在本质上显示的都是大小不同的图片。
小到屏幕上的一根小竖棍,大到整个屏幕的八行128根小竖棍。知道了这一点,只要合理安排这些图片在屏幕上的位置,就可以显示出想要的内容。假如让两个图片的显示位置重叠,会发生什么现象?在演示函数里。
·首先分别在第0行、第0列、第0行、第16列,还有第0行第48列为起始位置,显示三个字符串,每条语句后面都加个小延时。看一下效果,一行拼音"DaMingHu"就逐渐显示在了屏幕上。
·现在将第三个字符串的x坐标值改成三十二,会发生什么情况?可以看到显示出来的内容变成了"DaMiHu"TT。这是因为第三个字符串显示的位置,跟第二个字符串的后两个字母的位置发生了重合,而显示字符串的顺序是按照程序的顺序进行,所以"Hu"就覆盖掉了"Ming"后面的两个字母ng。
·接下来将这三行代码放进一个while(1)循环里,并且去掉延时函数,编译一下。可以看到按照程序显示的顺序,第0~31列的小竖棍因为内容没有变化,所以保持静止状态。而从第32列开始的16根小竖棍。
·因为先显示"ng"再显示"Hu",两组字母不断相互覆盖,于是就出现了闪烁。
回到一开始的问题,前面提到过刷新显存的函数在每次执行时,显示的内容就是一个大小覆盖了整个屏幕的图片。在程序中借用一下画正弦曲线的函数在每次刷新显存的语句之后,执行一段显示字符串和数字的语句,位置设置在屏幕最下面的一行。
再看一下可以看到画画函数每画出一个点,显示出的文字都会被GRAM这张大图片覆盖一次,然后再在同样位置显示一次文字,这样快速轮流覆盖。直到最后一次刷新显存之后,最新显示的文字才会变成静止状态,这就是导致文字闪烁的原因了。
知道了原因,接下来就可以使用几种不同的方法来解决这个问题了。
猜你喜欢
- 2024-10-26 异性聊天,总说“在干嘛”,加上这几个字,让对方更愿意回复你!
- 2024-10-26 led显示屏闪烁屏怎么处理(led显示屏闪烁是怎么回事)
- 2024-10-26 上联:明星闪烁夜,下联如何对恰当有趣?
- 2024-10-26 文字可以到达眼睛看不见的地方(每日句能量)
- 2024-10-26 iOS 18 在iMessage 加入哪些「文字特效」呢?
- 2024-10-26 文字中长,句句暖心(文字的短句)
- 2024-10-26 带闪烁提醒功能(带闪烁提醒功能的手表)
- 2024-10-26 创意好看的夏日早安问候祝福动态图片带字温馨
- 2024-10-26 4月10日最新早上好动态表情图片带字大全,非常时期暖心问候语
- 2024-10-26 用文字传递正能量(用文字传递温暖能让人如沐春风)
你 发表评论:
欢迎- 最近发表
-
- Win11学院:如何在Windows 11上使用WSL安装Ubuntu
- linux移植(Linux移植freemodbus)
- 独家解读:Win10预览版9879为何无法识别硬盘
- 基于Linux系统的本地Yum源搭建与配置(ISO方式、RPM方式)
- Docker镜像瘦身(docker 减小镜像大小)
- 在linux上安装ollama(linux安装locale)
- 渗透测试系统Kali推出Docker镜像(kali linux渗透测试技术详解pdf)
- Linux环境中部署Harbor私有镜像仓库
- linux之间传文件命令之Rsync傻瓜式教程
- 解决ollama在linux中安装或升级时,通过国内镜像缩短安装时长
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)