gpt4 book ai didi

java - 从 PApplet 内容创建 BufferedImage

转载 作者:行者123 更新时间:2023-12-01 05:51:07 25 4
gpt4 key购买 nike

在使用Processing 的Java servlet 中,我希望它将PApplet 的内容渲染到BufferedImage 并从中生成PNG 图像。从 PApplet 的内容创建 BufferedImage 的方法是什么?我必须创建 BufferedImage 并将其渲染到浏览器的代码应该可以从我见过的示例中运行,但它生成的最终图像是黑色/空的。

首先我有:

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;

}

然后在 doGet 中我有

    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() 而不是 updatePixels() .

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

尝试一下这个版本。

关于java - 从 PApplet 内容创建 BufferedImage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4672298/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com