我有一个移动的对象。该对象由点列表表示。计算是在一个单独的线程中完成的。 为了绘制这一点,有一个附加了WriteableBitmap的窗口。 绘图方法看起来像这样。
如果经常这样做(每100毫秒),结果就是一个闪烁的窗口。我怎么能避免这种情况?
编辑:示例代码
绘图组件的代码
public void FillColor(Color color)
{
writeableBitmap.Clear(Colors.White);
writeableBitmap.Clear(color);
window.Dispatcher.Invoke(
DispatcherPriority.Render, new Action(() => window.InvalidateVisual()));
}
Clear()将整个Bitmap设置为特定颜色。
第二个线程调用绘图。
private void DrawObjectFull()
{
while (true)
{
window.FillColor(Colors.BurlyWood);
Thread.Sleep(100);
}
}
编辑#2:我不完全确定这是否是最佳方法。最后我只想顺畅地从a到b绘制一个移动物体。