Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从PApplet内容创建BuffereImage_Java_Servlets_Bufferedimage_Processing - Fatal编程技术网

Java 从PApplet内容创建BuffereImage

Java 从PApplet内容创建BuffereImage,java,servlets,bufferedimage,processing,Java,Servlets,Bufferedimage,Processing,在使用处理的Javaservlet中,我希望它将PApplet的内容呈现到BuffereImage,并从中生成PNG图像。从PApplet的内容创建BuffereImage的方法是什么?我必须创建BuffereImage并将其渲染到浏览器的代码应该可以从我看到的示例中使用,但它生成的最终图像是黑色/空的 首先,我有: private PApplet createPApplet() { PApplet p = new PApplet(); p.init(); p.noLoo

在使用处理的Javaservlet中,我希望它将PApplet的内容呈现到BuffereImage,并从中生成PNG图像。从PApplet的内容创建BuffereImage的方法是什么?我必须创建BuffereImage并将其渲染到浏览器的代码应该可以从我看到的示例中使用,但它生成的最终图像是黑色/空的

首先,我有:

private PApplet createPApplet() {
    PApplet p = new PApplet();
    p.init();
    p.noLoop();      
    p.size(486, 243);
    p.background(255);
    p.stroke(255, 255, 255);
    p.colorMode(PApplet.RGB, 256, 1, 1);
    p.translate(p.width/2, p.height/2);
 return p;
}

那么,我有一只狗

    PApplet p = createPApplet();
    p.loadPixels();
    // here I do some drawing with p.point()
    p.loadPixels();
    BufferedImage img = new BufferedImage(486, 243, BufferedImage.TYPE_INT_ARGB);
    img.setRGB(0, 0, 486, 243, p.pixels, 0, 256);
    p.draw();
    response.setHeader("Content-Type", "image/png");
    ImageIO.write(img, "PNG", response.getOutputStream());

谢谢大家的意见

我很难在类似的环境中测试您的代码;但我认为问题是在绘图过程之后调用loadPixels,而不是

试试这个版本

PApplet p = createPApplet();
p.loadPixels();
// here I do some drawing with p.point()
p.updatePixels();