0

我正在研究一个image editor(这真的很像一种爱好),我对图像的视觉表示和变化有一点问题。

该项目遵循MVC design pattern, (该项目实际上比简单的图像编辑器稍微复杂一点,但这并不重要)并且对于编辑我使用board(“像素”矩阵)作为模型部分和修改后的view panel(它的责任是做板子状态的直观表示)

当我修改board(例如,用笔画一个像素)invalidate面板时,它必须完全重新绘制自己。(我想考虑到 PC 每秒自动刷新(重绘)几次,CPU 不会介意每次我只修改一个像素时重绘整个面板)

问题是图像闪烁,如果我快速移动我的笔,你看不到一条线,你看到一个dashed line

我的“重绘”算法的复杂度是O(n^2).

我尝试了不同的风格,喜欢双缓冲和不透明......

任何人都可以建议我更好的算法或更好的设计模式,我可以使用它们来解决这个问题......

4

0 回答 0