在Java servlet上使用Processing.org渲染图像

时间:2009-09-15 13:13:49

标签: scala image-processing

如何在Java servlet上呈现Processing.org图像?

我的scala代码是:

class Image extends PApplet {
  override def setup {
    size(200,200)
    background(0)
  }

  override def draw {
    stroke(255)
    line(10,10,50,50)
  }

  def renderImage = g.getImage

}


class ImageServlet extends HttpServlet {
  override def doGet(request: HttpServletRequest, response: HttpServletResponse) {

    response.setContentType("image/gif")

    val os: OutputStream = response.getOutputStream
    val image = new Image

    javax.imageio.ImageIO.write(image.renderImage.asInstanceOf[RenderedImage],"GIF86", os);

  }
}

3 个答案:

答案 0 :(得分:1)

我刚刚发布了一些示例代码here,听起来它也可以解决您的问题,看一看。它是Java,而不是Scala,但转换应该是微不足道的。

答案 1 :(得分:0)

小程序通常在客户端(即在浏览器中)执行。如果只是简单地调用new Image周围的管道,例如调用setup()将不会被执行。

也许尝试一些较低级别的Processing.org API类。我不知道API,但PGraphics或其中一个子类看起来很有希望。

答案 2 :(得分:0)

您可以从servlet进行渲染处理,但除非您将监视器插入服务器,否则您将获得“无头”异常。结帐ServletUtils from Fluid Forms Libs

如果您的服务器没有插入屏幕,您仍然可以实例化任何Processings PGraphics类。 PApplet是处理applet的基类,它基本上将所有绘图API,如rect()之类的调用传递给PGraphics类。