我在网格布局中插入一些 SVG 文件并希望颜色是随机的。但他们只是将随机颜色应用于方形 SVG 对象本身,而不是 SVG 中的形状。这是我需要嵌入到 SVG 文件中的东西吗?我对此很陌生,感觉我正在努力学习拉丁语。
网格布局代码:
HDrawablePool pool;
HColorPool colors;
void setup(){
size(400,1300);
H.init(this).background(#000000);
smooth();
colors = new HColorPool(#9EA2A2, #C7C9C7, #101820, #FCE300, #78BE20, #FE5000, #E03E52);
pool = new HDrawablePool(12);
pool.autoAddToStage()
.add(new HShape("BlockQ.svg"))
.add(new HShape("BlockX.svg"))
.add(new HShape("BlockY.svg"))
.add(new HShape("BlockZ.svg"))
.layout(
new HGridLayout()
.startX(50)
.startY(50)
.spacing(100,100)
.cols(3)
)
.onCreate(
new HCallback() {
public void run(Object obj) {
HShape d = (HShape) obj;
d
.enableStyle(false)
.strokeJoin(ROUND)
.strokeCap(ROUND)
.strokeWeight(1)
.stroke(#000000)
.anchorAt(H.CENTER)
.rotate( (int)random(4) * 90 );
;
d.randomColors(colors.fillOnly());
}
}
)
.requestAll()
;
H.drawStage();
}
其中一个 SVG 文件的代码:
import processing.svg.*;
void setup() {
size(100, 100, SVG, "BlockO.svg");
}
void draw() {
//size (100,100);
background (255);
line (0,0,0,100);
line (0,0,100,0);
line (100,0,100,100);
line (0,100,100,100);
// Exit the program
println("Finished.");
exit();
}
我希望随机颜色会出现在 SVG 文件中,比如小三角形等。