我正在研究image editor
(这真的是一种爱好),我对图像的视觉表现和变化有一点问题。
该项目遵循MVC design pattern
,(项目实际上比简单的图像编辑器稍微复杂一点,但这不重要)和编辑我使用board
(“像素的“矩阵”作为模型部分和修改后的view panel
(其职责是制作董事会状态的直观表示)
当我修改board
时(例如,用笔绘制一个像素)我invalidate
面板,它必须完全重绘自己。 (我想假设PC自动刷新(重新绘制)本身每秒几次,每次修改一个像素时CPU都不介意重新绘制整个面板)
问题是图像闪烁,如果我快速移动笔,您看不到一行,就会看到dashed line
。
我的“重新绘制”算法的复杂性为O(n^2)
。
我试过不同的风格,喜欢双缓冲和不透明......
任何人都可以建议我使用更好的算法或更好的dessign模式来解决这个问题......