我目前正在将一些 python 代码转换为 C#,我遇到了 RGBA C# 库的问题
# Original Python Code:
d = math.sqrt( (x - size/2.0)**2 + (y - size/2.0)**2 )
rgbVal = int(200*d/md + 50)
rgba = (0,0,0, 255 - rgbVal)
img.putpixel((x,y), rgba)
// My C# Code
double d = Math.Sqrt(Math.Pow((x - DotSize / 2.0), 2) + Math.Pow((y - DotSize / 2.0), 2));
int rgbVal = (int) (200 * d / md + 50);
Color color = Color.FromArgb(255 - rgbVal, 0, 0, 0); // ** ERROR **
img.SetPixel(x,y, color);
在代码的两个实例中,d 等于 106,md 等于 53。但是,生成的 rgbVal 值是 450。这显然意味着 255 - 450 是 -195,这会导致抛出错误,因为每个单独的值都必须介于 0 到 255 之间。任何人都知道我该如何解决这个问题。请注意,运行 python 和 C# 版本时数据是相同的。