在 N 图像上添加形状

Add a shape ontop of a PImage

我目前正在做一个类似于Microsoft Paint之类的应用程序,虽然我运行由于知识不足遇到了一个小问题。

我目前正在尝试允许用户在他们加载的图像 (PImage) 上绘图,例如:

ellipse(p.x,p.y,radius,radius);

这一切都很好,如果加载图像然后单独放置,然后绘制椭圆;然而,因为我不断地用 draw() 加载图像,所以就好像椭圆从来没有为用户制作过一样。

有没有办法将这个椭圆附加到背景 PImage 上,以便用户可以看到它?只是为了在背景上创建椭圆或其他东西?

很抱歉问这个问题,因为它可能很简单,但我无法通过给定的语言文档找到太多相关信息。感谢您的帮助,谢谢。

有几种方法可以解决这个问题。

您只能使用 setup() 函数绘制图像一次。

你可以把你所有的形状画成一个PGraphics,这有点像你可以画的图像。然后在绘制图像后将 PGraphics 绘制到屏幕上。 createGraphics() 函数在这里可能会派上用场。

或者您可以维护一个包含所有形状的数据结构,并遍历它并在每一帧绘制它们。如果您想支持撤消按钮,这将很有用。