如何在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);
}
}
答案 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类。