我正在写一个绘画应用程序。用户必须能够在绘制或编辑后移动所有对象。我有一个刷子和擦除工具,因此用户可以擦除用刷子绘制的对象的全部或任何部分。所以我创建了一个DrawBrush对象,它包含一个由GraphicsPath构成的System.Drawing.Region
。
但我不知道如何调整它的大小。我需要在鼠标移动时分别改变每个方向的大小(例如,仅向左)
有人可以帮助我吗?
我能够对这个物体做任何事情(移动),但没有尺寸......
答案 0 :(得分:2)
一个区域就像一个栅栏 - 它只是标出一个区域的边界。它不包含"任何图形,因此调整区域大小将没有直接/可见效果。
如果您希望能够在编辑器中移动或调整位图图像的某些部分,则需要将主图像的一部分(由您所在地区指定)复制到临时位图中。然后,您可以将临时位图绘制回主图像(在不同的位置和/或不同的大小)。
如果您希望能够在绘画程序中绘制多个对象,然后在以后单独编辑它们(移动它们并调整它们大小),那么您需要将它们中的每一个存储在单独的位图对象中并合成它们一起在屏幕上显示最终图像或将其保存为平面位图格式。如果您不像这样单独保留所有形状,您将丢失太多信息,并且您以后无法对其进行编辑。
在您尝试编写执行此操作的代码之前,您可能需要考虑编辑器的设计 - 它需要做什么,以及如何实现它?你的"文件"将被描述? (单个位图?在不同位置绘制的许多小位图?矢量路径?)。如果你在了解代表文件的方式之前编写代码,那么你可能会把自己描绘成一个角落(抱怨双关语)并完全陷入困境。