2009-09-15 5 views
3

Comment rendre des images Processing.org sur une servlet Java?Rendu d'images avec Processing.org sur le servlet Java

Mon code scala est:

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); 

    } 
} 

Répondre

0

Applets sont habituellement exécutées côté client (à savoir dans un navigateur). Si vous appelez simplement new Image la plomberie qui l'entoure, par exemple l'appel setup() ne sera pas exécuté. Peut-être essayer quelques-unes des classes de l'API Processing.org de niveau inférieur. Je ne connais pas l'API mais PGraphics ou l'une de ses sous-classes semble prometteuse.

0

Vous pouvez obtenir le traitement à rendre à partir d'une servlet, mais à moins d'avoir un moniteur branché sur votre serveur, vous obtiendrez des exceptions «sans tête». Commander ServletUtils from Fluid Forms Libs.

Si votre serveur n'a pas d'écran branché, vous pouvez toujours instancier l'une des classes Processus PGraphics. PApplet, la classe de base pour le traitement des applets, passe essentiellement toutes les API de dessin, les appels tels que rect(), sur une classe PGraphics.

1

Je viens de poster un exemple de code here, qui semble résoudrait votre problème aussi, jetez un oeil. C'est Java, pas Scala, mais la conversion devrait être triviale.

Questions connexes