java 0xaarrggbb 转换_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

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值