贴图怎样防止闪烁

2025-11-02 08:17:44

1、图片之所墨薪荡以会闪烁,原因之一是前后两幅图的反差较大。比购驾如说,前一幅图全白背景,后一幅图全黑背景。

贴图怎样防止闪烁

2、原因之二是刷新率不高。刷新率太祝酱低的话也会造成闪烁。不过刷新率主要和硬件和设置有关,在此就不再多做介绍了。

贴图怎样防止闪烁

1、要避免闪烁,解决办法之一就是尽量减少屏幕重绘次数。比方说,现在需要绘制一架正在发射子弹子的飞机,不宜一次绘制飞机,一次又一次地绘制每颗子弹,分数次贴图;而是应该一次性把所有内容全粘贴上去。

那么,这该怎么做呢?

贴图怎样防止闪烁

2、要做到一次性贴图,我们需要另外再建一个缓冲DC,这个缓冲DC并不在屏幕上显示,只作为一个“中转站”,暂时保存绘制的图片。以前述为例,我们先将飞机和子弹分别一一贴图到缓冲DC上,待所有元素全部绘制完成后,再一次性将缓冲DC上的所有内容粘贴到需要显示图片的设备DC上。

贴图怎样防止闪烁

3、在创建缓冲DC时,需要注意一个问题,那就是缓冲DC必须与设备DC完成兼容(通俗地理解就是它们要完全一样)。在这里,我们需要用到一个函数 CreateCompatibleDC。下图是该函数的声明。

贴图怎样防止闪烁

4、该函数只有一个参数,即现有设备DC句柄。如果该参数为NULL,则创建一个与现有显示器兼容的设备DC句柄。

贴图怎样防止闪烁

1、下图列出了具体实现以上思想的步骤。这样,就可以很好地避免图片闪烁。

贴图怎样防止闪烁

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢