Y
yhli
Unregistered / Unconfirmed
GUEST, unregistred user!
关于避免图形重绘闪烁的双缓冲区绘图问题:
在主窗口绘图为了避免闪烁,一般采用双缓冲区绘图技术。我认为在重绘清除窗口时,关键是不要或禁止对绘图窗口直接擦除,而使用内存中的位图(如bufBmp:TBitmap)来覆盖绘图主窗口。但在图像缩小时,发现窗口内没有擦除干净,也就是没有完全将窗口覆盖掉,在图像放大时,不存在这个问题。(为了保证缩放同步,我对bufBmp.canvas和主窗口的Camvas的坐标映射关系,进行同步操作:SetWindowExtEx()和SetViewPortOrgEx。所以坐标映射关系应该没有问题)。望对这方面技术比较熟悉的高手指点迷津!
在主窗口绘图为了避免闪烁,一般采用双缓冲区绘图技术。我认为在重绘清除窗口时,关键是不要或禁止对绘图窗口直接擦除,而使用内存中的位图(如bufBmp:TBitmap)来覆盖绘图主窗口。但在图像缩小时,发现窗口内没有擦除干净,也就是没有完全将窗口覆盖掉,在图像放大时,不存在这个问题。(为了保证缩放同步,我对bufBmp.canvas和主窗口的Camvas的坐标映射关系,进行同步操作:SetWindowExtEx()和SetViewPortOrgEx。所以坐标映射关系应该没有问题)。望对这方面技术比较熟悉的高手指点迷津!