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

那么,如何实现呢?以下为源码:
//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#随机产生颜色的更多相关文章
- css颜色值设置方式有哪些?以及如何随机一个颜色?
网页中颜色的使用方式有一下几种 1.颜色名称 ,如red black white 2.十六进制颜色,网页中常用,每两位代表红绿蓝的值的比例, 如 #ffffff白色 #000000黑色 3.r ...
- js随机背景颜色
// 要求: 随机生成颜色RGB 核心点 :(0,0,0) rgb 每一组的数字取值范围是 0~255 // 需要随机生成 0~255 之间的整数 function getRandom(min, ma ...
- ios开发之--随机背景颜色
记录个随机背景颜色的方法: + (UIColor*) randomColor{ NSInteger r = arc4random() % ; NSInteger g = arc4random() % ...
- JavaScript随机生成颜色以及十六进制颜色 与RGB颜色值的相互转换
/** * 随机生成颜色 * @return 随机生成的十六进制颜色 */ function randomColor(){ var colorStr=Math.floor(Math.random()* ...
- JS---Math.Random()*10--[0,10)随机变颜色
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- js点击按钮为元素随机字体颜色和背景色
文章地址 https://www.cnblogs.com/sandraryan/ 写两个button和一个div,点击按钮分别改变背景色和前景色(字体颜色).产生的是一个随机颜色. <!DOCT ...
- JS实现鼠标移入DIV随机变换颜色
今天分享一个在 JavaScript中,实现一个鼠标移入可以随机变换颜色,本质就是js的随机数运用. 代码如下: <!DOCTYPE html> <html> <head ...
- 点击DIV随机换颜色
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> ...
- opencv产生随机的颜色
//将HSV颜色空间值转换成RGB值,参考这里cv::Scalar HSV2RGB(const float h, const float s, const float v) { ); - h_i; - ...
随机推荐
- CopyOnWriteArrayList对比ArrayList
ArrayList非线程安全,CopyOnWriteArrayList线程安全 ArrayList添加元素的时候内部会预先分配存储空间,CopyOnWriteArrayList每次添加元素都会重新co ...
- PHP面向对象(OOP)编程入门教程链接
PHP官方学习OOP: http://php.net/manual/zh/oop5.intro.php 从其他博主学习:(以下链接来源: http://blog.snsgou.com/post-41. ...
- angular里forRoot的作用
模块A是这样定义的 @NgModule({ providers: [AService], declarations: [ TitleComponent ], exports: [ TitleCompo ...
- 用poi-3.6-20091214.jar 实现java给excel资料加密
用poi-3.6-20091214.jar 实现java给excel文件加密我用了网上的很多方法,但是都没有成功! HSSFWorkbook wb = new HSSFWorkbook(new Fil ...
- HDU 6370 Werewolf 【并查集】
任意门:http://acm.hdu.edu.cn/showproblem.php?pid=6370 Werewolf Time Limit: 2000/1000 MS (Java/Others) ...
- sql的寫法,推薦的寫法,全文索引提高類似like查詢的效率
說明:logistics_detail表中每個deliver_id可能對應多個loginticsType,但是我們只要獲取最大的那一個. SELECT dm.delivery_code,dm.deli ...
- 访问服务器,远程访问linux主机
ssh conch@+ip地址,输入密码后就可以访问并使用服务器了.登录服务器之后,xbwang@xbwang-desktop:~$变成了conch@conchdev:~$ ,这样你就可以像使用普通电 ...
- 二十四、详述 IntelliJ IDEA 中自动生成 serialVersionUID 的方法
当我们用 IntelliJ IDEA 编写类并实现 Serializable(序列化)接口的时候,可能会遇到这样一个问题,那就是: 无法自动生成serialVersionUID. 而serialVer ...
- C# DataSet导出Excel
//多个DataSet导出Excel文件 public static void DataSetToExcel(DataSet p_ds,string strSavePath) { ;//多个DataS ...
- Objective-C中,ARC下的 strong和weak指针原理解释
Objective-C中,ARC下的 strong和weak指针原理解释 提示:本文中所说的"实例变量"即是"成员变量","局部变量"即是& ...