假设我在运行时使用Graphics类动态绘制一些矢量形状。例如正方形和圆形。
有没有办法在运行时创建一个新形状,这两个矢量形状重叠?
这些操作在所有矢量设计程序中很常见,例如Illustrator,Corel等......但我还没有在Adobe的文档中找到任何内容,也没有在其他地方找到任何操作,代码。
答案 0 :(得分:1)
虽然Graphics类的绘制操作是用线,点等来描述的,但就你而言 - 只是告诉它要绘制到位图上的内容。一旦绘制就没有办法去除一个形状,没有clear(),只需擦拭整个东西。
我不完全理解为什么,因为必须保留矢量数据 - 例如,绘图后缩放的质量不会降低。
如果你不想进入一些硬核数学(除了直线之外的任何东西,你需要)这里有一个答案,如果你曾经使用过PixelBender可能会有所帮助:
如果不是这样,如果它只是化妆品,你可以玩屏蔽形状(虽然可能最终会非常hacky) - 但是,如果你真的想用交叉点绘制或描述一个形状,你需要挖掘你的数学书或寻找一个好的图形库。
希望这有帮助