我看到大多数人使用Processing的方式是将图像直接绘制到客户端的屏幕或网页上.
如何使用Processing在没有可视画布的情况下创建图像,然后将此图像保存到文件中?
以下是我感兴趣的具体步骤:
>有人访问网页,导致Processing程序开始运行
> Processing程序将在幕后工作以创建图像,然后将其保存为已知文件名
>网页将加载已知的文件名(仅在处理程序运行后才存在) – 因此,网页如何知道在图像完成后加载图像?
我假设Processing程序在服务器上运行(这与Processing通常的工作方式相反),文件将存储在服务器上.我还假设在Processing程序中有一些代码来限制创建的文件数量 – 例如,如果在5分钟内创建了现有图像,它将不会创建新图像.
最佳答案
我已经这样做了,使用Servlet中的Processing来动态渲染图像.
我发现的一个问题是Processing不是线程安全的,所以我不得不创建多个Processing实例并在队列中共享它们.
我发现的一个问题是Processing不是线程安全的,所以我不得不创建多个Processing实例并在队列中共享它们.
这是一个呈现Mandelbrot分形的servlet,供Google Maps用作叠加层:
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.util.concurrent.LinkedBlockingQueue;
import javax.imageio.ImageIO;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import processing.core.PApplet;
public class Tile extends HttpServlet {
private static final long serialVersionUID = 1L;
private static LinkedBlockingQueue