处理在随机网格布局中向 SVG 文件添加随机颜色

问题描述 投票:0回答:0

我在网格布局中插入一些 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 文件中,比如小三角形等。

random colors processing
© www.soinside.com 2019 - 2024. All rights reserved.