如何在处理中绘制矩形的垫子?

问题描述:

我想绘制一个类似矩形的缓冲垫,如图所示。有没有什么棘手的方式来使用“光”来实现这一点?有人有任何想法吗?谢谢! enter image description here如何在处理中绘制矩形的垫子?

PIC中:http://philogb.github.io/blog/2009/02/05/cushion-treemaps/

什么你在谈论被称为径向渐变

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

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并一次采取一个步骤。首先创建一个草图,显示一个简单的渐变。然后创建一个使用缓冲区的草图。在将它们合并成一个草图之前,让它们自己工作。祝你好运。

+0

感谢您的快速答复和建议,您的源图像以每盒正确的尺寸!这个例子很好用。我会尝试你的建议。谢谢! – zxue

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

  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)