使用GDI或GDI +的高级图形

时间:2012-12-20 16:41:59

标签: c++ .net gdi+ gdi

我正在寻找一些高级教程或者用C ++或.NET编写的开源应用程序,它们可以实现复杂的基于矢量的应用程序,如MS Visio或Autocad。我需要知道的是,当用户可以将复杂对象移动到其他复杂对象上时,这些应用程序的大师如何在鼠标移动时管理复杂对象(> 1000矩形)的渲染。我知道XOR绘画和东西,但如果你检查上面的应用程序显然他们没有使用这种技术。整个物体在另一个上方平滑移动,而不仅仅是它的XOR反射。此外,移动对象在移动时显示一些附加信息,如当前坐标或其他内容,因此不是保存在位图中的静态表示。

欢迎任何建议。

THX

1 个答案:

答案 0 :(得分:1)

许多图形应用程序使用某种spatial partitioning来削减他们需要查看的对象数量。例如,如果移动一个矩形,应用程序将在quadtree中查找并找到其边界框与移动矩形重叠的2或3个其他对象。然后它只需要用2或3个对象而不是1000对象进行完全碰撞检测和图形处理。