我正在尝试在处理过程中像矩形一样绘制一个缓冲垫,如图所示。是否有任何棘手的方式使用"光"意识到这一点?有没有人对它有任何想法?谢谢!
图片参考:http://philogb.github.io/blog/2009/02/05/cushion-treemaps/
答案 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)
实现所示类型(树形图)的径向渐变集合的另一种常用方法是:
使用(jpeg / png)创建或获取单个相当高分辨率的图像资源 - https://www.google.com/search?q=radial+gradient+box&tbm=isch
加载图片
当您画框时
可选择使用tint()
将图像着色为绿色,红色等。这最适合使用灰度源图像。
使用5参数image(img, x1, y1, x2, y2)