Unity Hex与Color之间进行颜色转换
using System.Collections;
using System.Collections.Generic;
using System.Globalization;
using UnityEngine;public enum ColorType
{RGB,RGBA
}public class ColorAlgorithmConversion : MonoBehaviour {private const string hexRegex = "^#?(?:[0-9a-fA-F]{3,4}){1,2}$";//color转Hexpublic static string ColorToHex(Color32 color, ColorType colorType){long num = 0;string hexStr = "";if (colorType == ColorType.RRGGBB){num = 0xFFFFFF & (ColorRGBAToInt(color) >> 8);hexStr = "#" + num.ToString("X6");}else{num = 0xFFFFFFFF & (ColorRGBAToInt(color));hexStr = "#" + num.ToString("X8");}return hexStr;}static public int ColorRGBAToInt(Color c){int retVal = 0;retVal |= Mathf.RoundToInt(c.r * 255f) << 24;retVal |= Mathf.RoundToInt(c.g * 255f) << 16;retVal |= Mathf.RoundToInt(c.b * 255f) << 8;retVal |= Mathf.RoundToInt(c.a * 255f);return retVal;}//Hex转Colorpublic static void HexToColor(string hex, out Color32 color, ColorType colorType){// Check if this is a valid hex string (# is optional)color = Color.black;if (System.Text.RegularExpressions.Regex.IsMatch(hex, hexRegex)){int startIndex = hex.StartsWith("#") ? 1 : 0; if (colorType == ColorType.RGBA) {color = new Color32(byte.Parse(hex.Substring(startIndex, 2), NumberStyles.AllowHexSpecifier),byte.Parse(hex.Substring(startIndex + 2, 2), NumberStyles.AllowHexSpecifier),byte.Parse(hex.Substring(startIndex + 4, 2), NumberStyles.AllowHexSpecifier),byte.Parse(hex.Substring(startIndex + 6, 2), NumberStyles.AllowHexSpecifier));}else if (colorType == ColorType.RGB) {color = new Color32(byte.Parse(hex.Substring(startIndex, 2), NumberStyles.AllowHexSpecifier),byte.Parse(hex.Substring(startIndex + 2, 2), NumberStyles.AllowHexSpecifier),byte.Parse(hex.Substring(startIndex + 4, 2), NumberStyles.AllowHexSpecifier),255);} } }
}
Unity Hex与Color之间进行颜色转换相关推荐
- js实现颜色转换hex转rgba
js实现颜色转换 一.hex转rgba const hex2Rgba = (bgColor, alpha = 1) => {let color = bgColor.slice(1); // 去掉 ...
- [JS] HEX颜色转换成RGBA
写了一个函数,可以把hex格式的颜色转为rgba的格式 实际上不是颜色转换,主要是slice()函数的使用吧,当成字符串理解就好. function change(hex) {if (hex.leng ...
- 使用Python和OpenCV在图像之间执行超快速的颜色转换
使用Python和OpenCV在图像之间执行超快速的颜色转换 1. 效果图 2. 原理 2.1 颜色转移算法 2.2 步骤 2.3 算法改进 3. 源码 参考 这篇博客将介绍如何使用Python和Op ...
- html color 转换,Color颜色转换的三种方式(c#)
Color颜色转换 1.在.net中如何把一个色名称转换成HTML色? System.Drawing.Color color = System.Drawing.Color.White; string ...
- 颜色转换,rgb与int颜色数值之间相互转换
项目中碰到需要将js页面获取的背景颜色转换成int类型的数值,然后存入数据库,百度了一些,发现没有合适的,所以就自己写了一个,需要的可以参考 // int转rgb function converArg ...
- colorFormat颜色转换插件
介绍 colorFormat.js是将颜色值转换为你需要格式的JavaScript库,现在仅支持浏览器支持的HEX/RGB/RGBA/HSL/HSLA等5种格式,任意格式之间互相转换. GitHub地 ...
- js中RGB与十六进制颜色转换
一.关于颜色的表示 颜色的表示方式不知一种,从photoshop的取色面板就可以看出,如下: 上图共显示了5种颜色的表示方法:HSB,lab,RGB,CMYK与十六进制表示法 在CSS中,我们也经常与 ...
- c语言中用rgb改颜色字体,C语言颜色转换宏
C语言颜色转换宏 #define COLOR_BPP16_RGB555 /* Win RGB */ #define COLOR_RGB(r,g,b) ((COLORREF)(((BYTE)(r)|(( ...
- Flutter 十六进制颜色转换
详细使用可参考简书 Flutter颜色(Color)使用和十六进制颜色转换,这里只提供十六进制封装方法 class ColorsUtil {/// 十六进制颜色,/// hex, 十六进制值,例如:0 ...
- Unity的gamma矫正、颜色空间及其转换的问题
Unity的gamma矫正.颜色空间及其转换的问题 1,伽马矫正 2,unity的颜色空间 2.1两种颜色空间流程 2.2pbr贴图格式 2.3手动完成空间切换 2.4升级URP后亮度不一致问题的问题 ...
最新文章
- 图解:电商支付架构设计
- Js获取宽高度的归纳总结
- SunPower光伏组件出货量提高
- Maven使用原型插件来创建项目
- python cookbook 中文第四版_Python Cookbook (4)
- C# does not contain a constructor that takes no parameter
- C++ 面向对象(二)多态 : 虚函数、多态原理、抽象类、虚函数表、继承与虚函数表
- matlab如何用代码导入文件_20+行Matlab代码实现文件扫描
- Soft Skill
- Linux开机报write same failed manually zeroing错误
- Python 多线程7-线程通信
- java中BOM是什么_Java处理带BOM的文本情况是什么?
- 基因表达矩阵中排除表达量低的样本和基因
- android hdmi拔插广播,拒绝频繁拔插:绿联 HDMI切换器 晒单
- 输出字符表情c语言,Objective-C读取十六进制代码并输出表情符号
- 保险经纪人是什么鬼?
- Atheros CSI Tool环境搭建之路由器配置记录---2022/03/22
- 腾讯社交类业务背后的自动化运维平台
- A100 GPU服务器安装CUDA教程
- VMware16pro虚拟机的安装