如何在加工中画出像矩形一样的垫子?

时间:2017-09-25 17:42:37

标签: java processing

我正在尝试在处理过程中像矩形一样绘制一个缓冲垫,如图所示。是否有任何棘手的方式使用"光"意识到这一点?有没有人对它有任何想法?谢谢! enter image description here

图片参考:http://philogb.github.io/blog/2009/02/05/cushion-treemaps/

2 个答案:

答案 0 :(得分:2)

您所谈论的内容称为径向渐变

有很多方法可以做到这一点。一种方法是简单地绘制一堆圆圈。这是一个小例子:

size(200, 200);
for(float diameter = 255; diameter > 0; diameter--){
  noStroke();
  fill(0, 255-diameter, 0); 
  ellipse(width/2, height/2, diameter, diameter);
}

您还必须将图形限制为矩形。您可以使用createGraphics()函数创建缓冲区,然后将渐变绘制到缓冲区,然后将缓冲区绘制到屏幕上。

你应该break your problem down into smaller steps,并一次采取一个步骤。首先创建一个显示简单渐变的草图。然后创建一个使用缓冲区的草图。在将它们组合成一个草图之前,让它们自己工作。祝你好运。

答案 1 :(得分:0)

实现所示类型(树形图)的径向渐变集合的另一种常用方法是:

  1. 使用(jpeg / png)创建或获取单个相当高分辨率的图像资源 - https://www.google.com/search?q=radial+gradient+box&tbm=isch

  2. 加载图片

  3. 当您画框时

  4. 可选择使用tint()将图像着色为绿色,红色等。这最适合使用灰度源图像。

  5. 使用5参数image(img, x1, y1, x2, y2)

  6. 将源图像缩放到每个框的正确大小