有时为了满足现实的需要,我们想生成随机的较深的颜色,比如:彩色二维码,为了让手机、二维码识别设备可以正确识别,必须使用较深的颜色。
如下图所示:

      

那么,如何实现呢?以下为源码:

 //C# Code:

 using System;
using System.Drawing; namespace Lgms.Net.QRCode.Codec.Util
{
public class ColorUtil
{
public static System.Drawing.Color GetRandomColor()
{
Random randomNum_1 = new Random(Guid.NewGuid().GetHashCode());
System.Threading.Thread.Sleep(randomNum_1.Next());
int int_Red = randomNum_1.Next(); Random randomNum_2 = new Random((int)DateTime.Now.Ticks);
int int_Green = randomNum_2.Next(); Random randomNum_3 = new Random(Guid.NewGuid().GetHashCode()); int int_Blue = randomNum_3.Next();
int_Blue = (int_Red + int_Green > ) ? int_Red + int_Green - : int_Blue;
int_Blue = (int_Blue > ) ? : int_Blue; return GetDarkerColor(System.Drawing.Color.FromArgb(int_Red, int_Green, int_Blue));
} //获取加深颜色
public static Color GetDarkerColor(Color color)
{
const int max = ;
int increase = new Random(Guid.NewGuid().GetHashCode()).Next(, ); //还可以根据需要调整此处的值 int r = Math.Abs(Math.Min(color.R - increase, max));
int g = Math.Abs(Math.Min(color.G - increase, max));
int b = Math.Abs(Math.Min(color.B - increase, max)); return Color.FromArgb(r, g, b);
}
}

第二种方式:

 public System.Drawing.Color GetRandomColor()
{
Random RandomNum_First = new Random((int)DateTime.Now.Ticks);
// 对于C#的随机数,没什么好说的
System.Threading.Thread.Sleep(RandomNum_First.Next());
Random RandomNum_Sencond = new Random((int)DateTime.Now.Ticks); // 为了在白色背景上显示,尽量生成深色
int int_Red = RandomNum_First.Next();
int int_Green = RandomNum_Sencond.Next();
int int_Blue = (int_Red + int_Green > ) ? : - int_Red - int_Green;
int_Blue = (int_Blue > ) ? : int_Blue;

return System.Drawing.Color.FromArgb(int_Red, int_Green, int_Blue);
}

c#随机产生颜色的更多相关文章

  1. css颜色值设置方式有哪些?以及如何随机一个颜色?

    网页中颜色的使用方式有一下几种 1.颜色名称 ,如red  black white 2.十六进制颜色,网页中常用,每两位代表红绿蓝的值的比例,  如 #ffffff白色   #000000黑色 3.r ...

  2. js随机背景颜色

    // 要求: 随机生成颜色RGB 核心点 :(0,0,0) rgb 每一组的数字取值范围是 0~255 // 需要随机生成 0~255 之间的整数 function getRandom(min, ma ...

  3. ios开发之--随机背景颜色

    记录个随机背景颜色的方法: + (UIColor*) randomColor{ NSInteger r = arc4random() % ; NSInteger g = arc4random() % ...

  4. JavaScript随机生成颜色以及十六进制颜色 与RGB颜色值的相互转换

    /** * 随机生成颜色 * @return 随机生成的十六进制颜色 */ function randomColor(){ var colorStr=Math.floor(Math.random()* ...

  5. JS---Math.Random()*10--[0,10)随机变颜色

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  6. js点击按钮为元素随机字体颜色和背景色

    文章地址 https://www.cnblogs.com/sandraryan/ 写两个button和一个div,点击按钮分别改变背景色和前景色(字体颜色).产生的是一个随机颜色. <!DOCT ...

  7. JS实现鼠标移入DIV随机变换颜色

    今天分享一个在 JavaScript中,实现一个鼠标移入可以随机变换颜色,本质就是js的随机数运用. 代码如下: <!DOCTYPE html> <html> <head ...

  8. 点击DIV随机换颜色

    <!DOCTYPE html> <html>     <head>         <meta charset="UTF-8">   ...

  9. opencv产生随机的颜色

    //将HSV颜色空间值转换成RGB值,参考这里cv::Scalar HSV2RGB(const float h, const float s, const float v) { ); - h_i; - ...

随机推荐

  1. asp.net mvc 4.0常见的几个问题

    看书的时候遇到很多不知所云的错误,都是在网上找到的解决方法,没办法,从asp.net到mcv很多的新技术,没有一点思路,只能在网上搜罗了. 1.更新产品不成功 更新产品的时候一直不能更新成功,但是很奇 ...

  2. angularJS报错$apply already in progress的原因和解决方法

    如果我们使用了AngularJS中的$scope.$apply()或者$scope.$digest(),我们很可能会遇到类似下面的错误,虽然这个错误没有太大影响,但是在日志中看起来还是很不爽的,日志中 ...

  3. Hibernate映射Map属性

    看到一篇Hibernate 映射Map属性的文章挺好的转载一下原地址:http://blog.sina.com.cn/s/blog_86f4502c0101fs1x.html Map集合属于有序集合, ...

  4. 编码 Unicode utf-8

    编码的发展史: 一开始计算机只在美国使用.8位的字节可以组合出256种不同的状态.他们将0到32种状态规定为”控制码“,后来又用其中32号以后的状态表示空格.标点符号.数字和大小写字母.这样一直编到了 ...

  5. Type Systems

    This section deals with more theoretical aspects of types. A type system is a set of rules used by a ...

  6. 阅读《C陷阱与缺陷》的知识增量

    版权声明:本文为Focustc原创文章.转载请注明作者及出处. https://blog.csdn.net/caozhankui/article/details/35925939 看完<C陷阱与 ...

  7. UVa 11400 - Lighting System Design(线性DP)

    链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...

  8. Lua脚本认知小结

    0.前言 Lua是一种脚本语言,笔者在学习cocos2dx的时候认识了这个脚本语言. 据个人了解的脚本语言最大的优势是无需编译,使用其内核可以使其跨平台运行. JavaScript,Python,Pe ...

  9. viewsate用法

    ViewState["名称"]="ssss";直接赋值取值只能在同一个页面使用, 离开页面就会失效

  10. ASP.NET Web API编程——使用自签名SSL证书

    1自签名SSL证书的创建 创建自签名SSL工具xca为:https://sourceforge.net/projects/xca/ 创建过程 1)创建根证书 打开软件,界面如下. 点击,看到下拉菜单, ...