首页 web前端 js教程 Javascript实现颜色rgb与16进制转换的方法_javascript技巧

Javascript实现颜色rgb与16进制转换的方法_javascript技巧

May 16, 2016 pm 04:03 PM
16进制 javascript rgb 转换 颜色

本文实例讲述了Javascript实现颜色rgb与16进制转换的方法。分享给大家供大家参考。具体如下:

使用方法:

1

2

3

Color(12,34,56);

Color("#fff")

Color("#defdcd")

登录后复制

实现代码:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

//颜色转换

var Color = function() {

  if (!(this instanceof Color)) {

   var color = new Color();

   color._init.apply(color, arguments);

   return color;

  }

  if (arguments.length) {

   this._init.apply(this, arguments);

  }

}

//设置get,set方法

var methods = ["red", "green", "blue", "colorValue"];

var defineSetGetMethod = function(fn, methods) {

  var fnPrototype = fn.prototype;

  for (var i = 0; i < methods.length; i++) {

   var methodName = methods[i].charAt(0).toLocaleUpperCase() + methods[i].substring(1);

   fn.prototype['set' + methodName] = new Function("value", "this." + methods[i] + "= value;");

   fn.prototype['get' + methodName] = new Function("return this." + methods[i] + ";");

   fn.prototype['toString'] = new Function('return "rgb("+this.red+","+this.green+","+this.blue+")";');

  }

};

defineSetGetMethod(Color, methods);

//扩展函数的实例方法

var extend = function(fn, option) {

  var fnPrototype = fn.prototype;

  for (var i in option) {

   fnPrototype[i] = option[i];

  }

};

extend(Color, {

  _init : function() {

   if (arguments.length == 3) {

    this.red = arguments[0];

    this.green = arguments[1];

    this.blue = arguments[2];

    this.getColorValue();

   } else {

    var colorValue = arguments[0].replace(/^\#{1}/, "");

    if (colorValue.length == 3) {

     colorValue = colorValue.replace(/(.)/g, '$1$1');

    }

    this.red = parseInt('0x' + colorValue.substring(0, 2), 16);

    this.green = parseInt('0x' + colorValue.substring(2, 4), 16);

    this.blue = parseInt('0x' + colorValue.substring(4), 16);

    this.colorValue = "#" + colorValue;

   }

  },

  getColorValue : function() {

   if (this.colorValue) {

    return this.colorValue;

   }

   var hR = this.red.toString(16);

   var hG = this.green.toString(16);

   var hB = this.blue.toString(16);

   return this.colorValue = "#" + (this.red < 16 &#63; ("0" + hR) : hR) + (this.green < 16 &#63; ("0" + hG) : hG) + (this.blue < 16 &#63; ("0" + hB) : hB);

  }

});

登录后复制

希望本文所述对大家的javascript程序设计有所帮助。

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

全角英文字母转换为半角形式的实用技巧 全角英文字母转换为半角形式的实用技巧 Mar 26, 2024 am 09:54 AM

全角英文字母转换为半角形式的实用技巧在现代生活中,我们经常会接触到英文字母,在使用电脑、手机等设备时也经常需要输入英文字母。然而,有时候我们会遇到全角英文字母的情况,而我们需要使用的是半角形式。那么,如何将全角英文字母转换为半角形式呢?下面就为大家介绍一些实用的技巧。首先,全角英文字母和数字是指在输入法中占据一个全角位置的字符,而半角英文字母和数字则是占据一

Golang时间处理:如何在Golang中将时间戳转换为字符串 Golang时间处理:如何在Golang中将时间戳转换为字符串 Feb 24, 2024 pm 10:42 PM

Golang时间转换:如何将时间戳转换为字符串在Golang中,时间操作是非常常见的操作之一。有时候我们需要将时间戳转换为字符串,以便于展示或者存储。本文将介绍如何使用Golang将时间戳转换为字符串,并提供具体的代码示例。1.时间戳和字符串的转换在Golang中,时间戳通常是以整型数字的形式表示的,表示的是从1970年1月1日至当前时间的秒数。而字符串则

PHP 月份转换为英文月份的实现方法详解 PHP 月份转换为英文月份的实现方法详解 Mar 21, 2024 pm 06:45 PM

这篇文章将详细介绍如何将PHP中的月份转换为英文月份的方法,同时给出具体的代码示例。在PHP开发中,有时候我们需要将数字表示的月份转换为英文的月份,这在一些日期处理或数据展示的场景下非常实用。下面将从实现原理、具体代码示例和注意事项等方面进行详解。一、实现原理在PHP中,可以通过使用DateTime类和format方法来实现将数字月份转换为英文月份。Date

qq音乐怎么转换mp3格式 手机上qq音乐转mp3格式 qq音乐怎么转换mp3格式 手机上qq音乐转mp3格式 Mar 21, 2024 pm 01:21 PM

  qq音乐让大家尽情享受观影解闷,每天都可以使用这个软件,轻松满足自己的使用,优质海量的歌曲,任由大家畅听,也可以下载保存起来,下次听的时候,不需要网络,而在这里下载的歌曲不是MP3格式的,无法在其他平台使用,会员歌曲过期后也没有办法再听了,所以很多小伙伴们,都想要将歌曲转换成MP3格式的,在这里小编为你们提供方法,帮助大家都可以使用起来!  1、打开电脑qq音乐,点击右上角【主菜单】按钮,点击【音频转码】,选择【添加歌曲】选项,添加需要转换的歌曲;  2、添加歌曲完毕,点击选择转换为【mp3

vivo全新X100系列内存、颜色曝光:全系12+256GB起步 vivo全新X100系列内存、颜色曝光:全系12+256GB起步 May 06, 2024 pm 03:58 PM

5月6日消息,今天vivo官方宣布,全新的vivoX100系列将在5月13日19:00正式发布。据了解,此次发布会预计将发布vivoX100s、vivoX100sPro、vivoX100Ultra三款机型,以及vivo自研影像品牌BlueImage蓝图影像技术。数码博主“数码闲聊站”今天也放出了这三款机型的官方渲染图、内存规格及配色等,其中X100s采用了直屏设计,而X100sPro和X100Ultra则是曲屏设计。该博主透露,vivoX100s共有黑、钛、青、白四种配色,内存规格

全角英文字母变为半角字母的方法 全角英文字母变为半角字母的方法 Mar 25, 2024 pm 02:45 PM

全角英文字母变为半角字母的方法在日常生活和工作中,有时候我们会遇到需要将全角英文字母转换为半角字母的情况,比如在输入电脑密码、编辑文档或者设计排版时。全角英文字母和数字是指宽度与中文字符相同的字符,而半角英文字母则是指宽度较窄的字符。在实际操作中,我们需要掌握一些简单的方法,来将全角英文字母转换为半角字母,以便更方便地处理文本和数字。一、全角英文字母与半角英

WPS文档表格颜色怎么设置你知道吗 WPS文档表格颜色怎么设置你知道吗 Mar 20, 2024 am 08:19 AM

我们在看到别人的WPS文档中表格颜色做出来的效果五颜六色,十分美观;而自己只有单调的黑色。如果过给表格填充颜色,我相信很多同学都会。但是,如果要在WPS文档中国设置表格的颜色的话,肯定有不少同学会觉得烧脑!今天,我们来学习一下关于如何设置WPS文档表格的颜色。我整理了一份文档,希望对大家有所帮助。步骤如下:1、我们需要在WPS文档中绘制一个表格,在要修改线条颜色的表格中点击鼠标右键。2、接着,用鼠标在表格上点击【鼠标右键】;在弹出的菜单中,我们找到【边框和底纹】。3、此时,会打开【边框和底纹】对

PHP教程:如何将int类型转换为字符串 PHP教程:如何将int类型转换为字符串 Mar 27, 2024 pm 06:03 PM

PHP教程:如何将int类型转换为字符串在PHP中,将整型数据转换为字符串是一种常见的操作。本教程将介绍如何使用PHP内置的函数将int类型转换为字符串,同时提供具体的代码示例。使用强制类型转换:在PHP中,可以使用强制类型转换的方式将整型数据转换为字符串。这种方法非常简单,只需要在整型数据前加上(string)即可将其转换为字符串。下面是一个简单的示例代码

See all articles