level 1
试过把背景这样设置,但是完全不生效,输出的图片背景颜色是100%的不透明。
background(125,25);
2017年09月11日 14点09分
1
level 6
saveFrame 保存的是当前画布上的图像,也就是你看到的内容,所以不可能是透明的。
假如想要透明度,你需要创建一个 PGraphics 图层,把内容画在图层上,然后保存这个图层为png。建议看一下 PGraphics 的文档。
2017年09月12日 04点09分
4
暗流兄,请帮忙看下5楼代码,我试了还没成功。
2017年09月12日 12点09分
@alfa99 谢谢,我解决了,要把 save() 放 endDraw(); 之前~~~
2017年09月12日 12点09分
暗流给个联系方式
2017年09月22日 04点09分
level 1
PGraphics pg;
void setup() {
size(200, 200);
pg = createGraphics(200, 200);
pg.beginDraw();
pg.fill(125,0,0,125);
pg.ellipse(pg.width*0.5, pg.height*0.5, 50, 50);
pg.endDraw();
image(pg, 0, 0);
save("a.png");
}
我这样试了一下,还是不透明~~~还没找到哪里错了。
2017年09月12日 11点09分
5
level 1
Graphics pg;
void setup() {
size(200, 200);
pg = createGraphics(200, 200);
pg.beginDraw();
pg.fill(125,0,0,125);
pg.ellipse(pg.width*0.5, pg.height*0.5, 50, 50);
save("a.png");
pg.endDraw();
image(pg, 0, 0);
}
解决了,要把 save() 放 endDraw(); 之前~~~
2017年09月13日 04点09分
7
你们都是自学的么
2017年10月30日 09点10分
level 1
您好,请问您之前processing保存透明背景的问题解决了吗?我也尝试过,发现saveFrame没有办法导出透明背景的图片,即使是在createGraphic函数下也是如此。
2019年05月04日 07点05分
8
level 1
PGraphics pg;
void setup() {
size(1920, 1080);
pg = createGraphics(1920, 1080, JAVA2D);
}
void draw() {
pg.beginDraw();
float red_prob = 0.18;
float green_prob = 0.32;
float blue_prob = 0.45;
float num = random(1);
if (num < red_prob) {
pg.fill(75, 113, 234);
} else if (num < green_prob + red_prob) {
pg.fill(222, 91, 131);
} else {
pg.fill(237, 255, 32);
}
float a =random(500);
pg.ellipse(random(width), random(height), a, a);
image(pg, 0, 0);
pg.saveFrame("C:\\a\\##.png");
pg.endDraw();
}
2019年05月04日 07点05分
9