pixman 图像库可以在两个圆圈之间绘制径向颜色渐变。我希望径向渐变完全填充由“宽度”和“高度”定义的矩形区域。那么问题来了,外圆的半径应该怎么选择呢?
我目前的参数如下:
A) inner circle (start of gradient)
center pointer of inner circle: (width*0.5|height*0.5)
radius of inner circle: 1
color: black
B) outer circle (end of gradient)
center pointer of outer circle: (width*0.5|height*0.5)
radius of outer circle: ???
color: white
我应该如何选择外圈的半径以确保外圈完全填满由宽度*高度定义的边界矩形。角落不得有空白区域,该区域应完全被圆圈覆盖。换句话说,边界矩形的宽度、高度必须完全适合外圆。选择
outer_radius = max(width, height) * 0.5
因为外圈的半径显然是不够的。它必须更大,但大多少?
谢谢!
最佳答案
圆的直径应该是矩形的对角线,你可以很容易地从毕达哥拉斯定理计算出来。即:
outer_radius = 0.5 * sqrt(width * width + height * height)
关于math - 选择圆半径以完全填充矩形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2891222/