RRGGBBAA或者RRGGBB转换成rgba()
//十六进制颜色值的正则表达式
var reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/;
/*16进制颜色转为RGB格式*/
var colorRgb = function(color){
if(color.length>7){
var num = color.slice(7,9).toUpperCase();
var x = opacityColor(num)
color = color.slice(0,7);
}
var sColor =color.toLowerCase();
if(sColor && reg.test(sColor)){
if(sColor.length === 4){
var sColorNew = "#";
for(var i=1; i<4; i+=1){
sColorNew += sColor.slice(i,i+1).concat(sColor.slice(i,i+1));
}
sColor = sColorNew;
}
//处理六位的颜色值
var sColorChange = [];
for(var i=1; i<7; i+=2){
sColorChange.push(parseInt("0x"+sColor.slice(i,i+2)));
}
//转换为rgb,此时不用传递参数
if(x==undefined){
return "rgb(" + sColorChange.join(",") + ")";
}else{
//转换为rgba,透明度为传递的参数x;
return "rgba(" + sColorChange.join(",") + ","+x+")";
}
}else{
return sColor;
}
}; function opacityColor(num){
if(num=='FF'){
return 1
}else if(num=='FC'){
return .99
}else if(num=='FA'){
return .98
}else if(num=='F7'){
return .97
}else if(num=='F5'){
return .96
}else if(num=='F2'){
return .95
}else if(num=='F0'){
return .94
}else if(num=='ED'){
return .93
}else if(num=='EB'){
return .92
}else if(num=='E8'){
return .91
}else if(num=='E6'){
return .9
}else if(num=='E3'){
return .89
}else if(num=='E0'){
return .88
}else if(num=='DE'){
return .87
}else if(num=='DB'){
return .86
}else if(num=='D9'){
return .85
}else if(num=='D6'){
return .84
}else if(num=='D4'){
return .83
}else if(num=='D1'){
return .82
}else if(num=='CF'){
return .81
}else if(num=='CC'){
return .80
}else if(num=='C9'){
return .79
}else if(num=='C7'){
return .78
}else if(num=='C4'){
return .77
}else if(num=='C2'){
return .76
}else if(num=='BF'){
return .75
}else if(num=='BD'){
return .74
}else if(num=='BA'){
return .73
}else if(num=='B8'){
return .72
}else if(num=='B5'){
return .71
}else if(num=='B3'){
return .70
}else if(num=='B0'){
return .69
}else if(num=='AD'){
return .68
}else if(num=='AB'){
return .67
}else if(num=='A8'){
return .66
}else if(num=='A6'){
return .65
}else if(num=='A3'){
return .64
}else if(num=='A1'){
return .63
}else if(num=='9E'){
return .62
}else if(num=='9C'){
return .61
}else if(num=='99'){
return .6
}else if(num=='96'){
return .59
}else if(num=='94'){
return .58
}else if(num=='91'){
return .57
}else if(num=='8F'){
return .56
}else if(num=='8C'){
return .55
}else if(num=='8A'){
return .54
}else if(num=='87'){
return .53
}else if(num=='85'){
return .52
}else if(num=='82'){
return .51
}else if(num=='80'){
return .5
}else if(num=='7D'){
return .49
}else if(num=='7A'){
return .48
}else if(num=='78'){
return .47
}else if(num=='75'){
return .46
}else if(num=='73'){
return .45
}else if(num=='70'){
return .44
}else if(num=='6E'){
return .43
}else if(num=='6B'){
return .42
}else if(num=='69'){
return .41
}else if(num=='66'){
return .4
}else if(num=='63'){
return .39
}else if(num=='61'){
return .38
}else if(num=='5E'){
return .37
}else if(num=='5C'){
return .36
}else if(num=='59'){
return .35
}else if(num=='57'){
return .34
}else if(num=='54'){
return .33
}else if(num=='52'){
return .32
}else if(num=='4F'){
return .31
}else if(num=='4D'){
return .3
}else if(num=='4A'){
return .29
}else if(num=='47'){
return .28
}else if(num=='45'){
return .27
}else if(num=='42'){
return .26
}else if(num=='40'){
return .25
}else if(num=='3D'){
return .24
}else if(num=='3B'){
return .23
}else if(num=='38'){
return .22
}else if(num=='36'){
return .21
}else if(num=='33'){
return .2
}else if(num=='30'){
return .19
}else if(num=='2E'){
return .18
}else if(num=='2B'){
return .17
}else if(num=='29'){
return .16
}else if(num=='26'){
return .15
}else if(num=='24'){
return .14
}else if(num=='21'){
return .13
}else if(num=='1F'){
return .12
}else if(num=='1C'){
return .11
}else if(num=='1A'){
return .1
}else if(num=='17'){
return .09
}else if(num=='14'){
return .08
}else if(num=='12'){
return .07
}else if(num=='0F'){
return .06
}else if(num=='0D'){
return .05
}else if(num=='0A'){
return .04
}else if(num=='08'){
return .03
}else if(num=='05'){
return .02
}else if(num=='03'){
return .01
}else if(num=='00'){
return 0
}
}
RRGGBBAA或者RRGGBB转换成rgba()的更多相关文章
- RGBA的值0-255范围如何转换成0-1范围
这样一个rgba(1,0,0,1) 如果我们要把它转换成 0-255范围 就是rgb分别乘以255 就是 rgba(255,0,0,1) 0-255转0-1范围 如 rgba(34,56,56,1)转 ...
- python将url转换成二维码
准备环境 python生成二维码,需要依赖包qrcode和PIL(二维码的实质就是一个url.) python3安装PIL:pip install PIL python2安装PIL:pip insta ...
- javascript把RGB指定颜色转换成十六进制颜色(Converting R,G,B values to HTML hex notation)
Prologue 看见一篇非常好的外国文章,Making annoying rainbows in javascript,事实上我当时非常想把它翻译下来的,可是对于一个连六级都没过的人确实有点难度,一 ...
- DataTable 转换成 Json的3种方法
在web开发中,我们可能会有这样的需求,为了便于前台的JS的处理,我们需要将查询出的数据源格式比如:List<T>.DataTable转换为Json格式.特别在使用Extjs框架的时候,A ...
- 微信小程序中利用时间选择器和js无计算实现定时器(将字符串或秒数转换成倒计时)
转载注明出处 改成了一个单独的js文件,并修改代码增加了通用性,点击这里查看 今天写小程序,有一个需求就是用户选择时间,然后我这边就要开始倒计时. 因为小程序的限制,所以直接选用时间选择器作为选择定时 ...
- C#将Word转换成PDF方法总结(基于Office和WPS两种方案)
有时候,我们需要在线上预览word文档,当然我们可以用NPOI抽出Word中的文字和表格,然后显示到网页上面,但是这样会丢失掉Word中原有的格式和图片.一个比较好的办法就是将word转换成pdf,然 ...
- DataTable转换成IList<T>的简单实现
DataTable的无奈 很多时候,我们需要去操作DataTable.但DataTable的操作,实在是太不方便了.Linq?lambda表达式?统统没有... 特别是对现有结果集做进一步筛选,这样的 ...
- ASP.Net中实现上传过程中将文本文件转换成PDF的方法
iTextSharp是一个常用的PDF库,我们可以使用它来创建.修改PDF文件或对PDF文件进行一些其他额外的操作.本文讲述了如何在上传过程中将文本文件转换成PDF的方法. 基本工作 在开始之前,我们 ...
- asp.net dataTable转换成Json格式
/// <summary> /// dataTable转换成Json格式 /// </summary> /// <param name="dt"> ...
随机推荐
- 基于UDP套接字编程实例
data.h #ifndef DATA_H #define DATA_H #include <stdio.h> #include <string.h> #include < ...
- Disruptor 线程间共享数据无需竞争
队列的作用是缓冲 缓冲到 队列的空间里.. 线程间共享数据无需竞争 原文 地址 作者 Trisha 译者:李同杰 LMAX Disruptor 是一个开源的并发框架,并获得2011 Duke’ ...
- ES6的新增数据类型:Symbol
简介:Symbol类型是es6新增的一个数据类型,Es5的基本数据类型(undefined,null,Object,function,Number,string) Symbol值通过Symbol函数生 ...
- Linux下undefined reference to ‘pthread_create’问题解决 zz
接触了Linux系统编程中的线程编程模块,可gcc sample.c(习惯把书上的sample代码写进sample.c文件中)出现“undefined reference to ‘pthread_cr ...
- vue2.0项目结构和打包发布
先来一张项目结构图: 本地开发测试运行的命令是npm run dev 打包发布的命令是 npm run build生成的dist文件夹里的文件就是我们可以布置到服务上的文件 但是呢,这打包好的文件的文 ...
- hdu多校5
1002 思路:贪心显然不好贪,直接爆搜. #include<bits/stdc++.h> #define LL long long #define fi first #define se ...
- 三十八 ThreadLocal
在多线程环境下,每个线程都有自己的数据.一个线程使用自己的局部变量比使用全局变量好,因为局部变量只有线程自己能看见,不会影响其他线程,而全局变量的修改必须加锁. 但是局部变量也有问题,就是在函数调用的 ...
- ORACLE数据库创建动态表
最近公司一个项目代码里的定时任务无法执行,查验代码良久,奈何代码过于老旧,开发人员换了一茬又一茬,现在都无法理清,故无奈只好到数据库里重新写存过,配置定时任务. 在写存过时,由于检测及安全性能要求,需 ...
- POJ2828 Buy Tickets [树状数组,二分答案]
题目传送门 Buy Tickets Time Limit: 4000MS Memory Limit: 65536K Total Submissions: 22611 Accepted: 110 ...
- 基于Shiro,JWT实现微信小程序登录完整例子
小程序官方流程图如下,官方地址 : https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/login.html ...