我目前正在使用Java进行图像动态叠加。我的服务器将根据运行时参数渲染图像,因此我需要一个库以简单的方式处理图像。

我听说过Processing,并对如何在Spring引导服务器中使用它感到好奇。是否可以不使用setup()draw()函数而将处理用作库?只需运行处理以加载图像,对其进行操作并在AWS S3中上载结果,那么最终客户端将达到此效果?

我试图用

import processing.core.PApplet;
import processing.core.PImage;

public class Application {
    public static void main(String[] args) {
        PApplet pApplet = new PApplet();
        PImage pImage = pApplet.loadImage("/home/vadim/Pictures/lena.png");
        PImage pImage2 = pApplet.loadImage("/home/vadim/Pictures/lena.png");

        pImage.blend(pImage2, 0, 0, 50, 50, 0, 0, pImage2.width, pImage2.height, PImage.OVERLAY);
        pImage.save("/home/vadim/Pictures/result.png");
    }
}


有可能吗?还是我需要考虑其他图书馆?

最佳答案

据我所知,如果没有至少一个setup()函数,您将不能单独使用Processing的函数。这是因为Processing需要在大多数功能起作用之前进行自己的初始化。

但是请注意,您不需要包含draw()函数。您可以通过setup()进行所有操作,如下所示:

public class TestSketch extends PApplet {
  public void setup() {
    background(32);
    ellipse(50, 50, 25, 25);
    noLoop();
  }

  static public void main(String[] passedArgs) {
    String[] appletArgs = new String[] { "TestSketch" };
    PApplet.main(appletArgs);
  }
}


话虽这么说,您也许可以利用Processing的source来隔离所需的功能。不过,这可能比它值得的工作还要多。

无耻的自我推广:here是有关将Processing用作Java库的指南。 Here是在不显示的情况下运行处理的指南。

09-05 16:55
查看更多