我正在编写一个生成二进制(黑白)图像的程序.白色的ARGB(Alpha,红色,绿色,蓝色)是黑色(0,255,255,255)和(0,0,0,0)黑色.所以我使用Random数字来生成二进制位图
int a = rnd.Next(256);
int r = rnd.Next(256);
int g = rnd.Next(256);
int b = rnd.Next(256);
Run Code Online (Sandbox Code Playgroud)
但是使用这个数字范围会生成一个颜色图像,所以我只需要0或255的随机数,它们之间没有任何关系.记住它是二进制而不是灰度图像.
最简单的方法是:
int a = 255;
int r = rnd.Next(2) * 255;
int g = r;
int b = r;
Run Code Online (Sandbox Code Playgroud)
或者您也可以通过以下方式实现:
Color color = rnd.Next(2) == 0 ? Color.Black : Color.White;
Run Code Online (Sandbox Code Playgroud)