Рендеринг изображений с Processing.org на сервлете Java - PullRequest
3 голосов
/ 15 сентября 2009

Как визуализировать изображения Processing.org на сервлете Java?

Мой код скалы:

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 ]

1 голос
/ 05 января 2010

Я только что опубликовал пример кода здесь , который звучит так, как будто это тоже решит вашу проблему, посмотрите. Это Java, а не Scala, но преобразование должно быть тривиальным.

0 голосов
/ 21 ноября 2009

Вы можете получить обработку для рендеринга из сервлета, но если к вашему серверу не подключен монитор, вы получите «безголовые» исключения. Оформить заказ ServletUtils из Fluid Forms Libs .

Если на вашем сервере нет подключенного экрана, вы все равно можете создать экземпляр любого из классов Processings PGraphics. PApplet, базовый класс для обработки апплетов, в основном передает все API рисования, такие как rect (), в класс PGraphics.

0 голосов
/ 17 сентября 2009

Апплеты обычно выполняются на стороне клиента (то есть внутри браузера). Если вы просто позвоните new Image, сантехника вокруг него, например, вызов setup(), не будет выполнена.

Возможно, попробуйте некоторые из классов API Processing.org более низкого уровня. Я не знаю API, но PGraphics или один из его подклассов выглядят многообещающе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...