Javascript颜色选择器与8位十六进制
Javascript color picker with 8 digit hex
我正在寻找一个javascript颜色选择器,我可以设置颜色和不透明度。返回的字符串必须是8位长十六进制值(不包括#)。
已经看过了
- Farbtastic http://acko.net/blog/farbtastic-jquery-color-picker-plug-in/
- jPicker http://www.digitalmagicpro.com/jPicker/
- jQuery Minicolors http://labs.abeautifulsite.net/jquery-miniColors/
等。但是它们都没有给我我想要的,我不想弄乱修剪字符串等,因为颜色选择器必须在一个页面上实现大约100次才能实现皮肤编辑器。
编辑
http://jscolor.com/这是使用JSColor:
的样子http://img707.imageshack.us/img707/3962/unbenannt3op.png这是我在bean中获取和设置十六进制代码的代码:
<h:inputText styleClass="color {hash:true}"
value="#{skinningBean.currentSkin.titleBar.backgroundColorStart}">
<a4j:ajax event="change" render="preview" />
这将工作得非常好,除了缺少alpha值(最后两个数字)。
我不知道为什么它不容易找到,但是光谱有我在颜色选择器中需要的一切。(在我发现光谱之前,我一直在使用微彩。)
我不知道它是否需要8位十六进制,但我知道它会接受4个参数rgba。(它使用一个名为tinycolor的插件进行所有的颜色解析。)
我用JavaScript写了一个公共领域的颜色选择器。按照您的要求,我现在已经添加了一个功能,该功能以RRGGBBAA格式显示颜色,并带有十六进制组件。
- 演示:http://peteroupc.github.com/colorpicker/(查看示例"Alpha颜色选择器(RRGGBBAA格式)"。)
- 源代码:https://github.com/peteroupc/colorpicker
要启用这个特性,给文本框一个以"rgbahex_"开头的ID,如下例所示:
<input type="text" value="ff0000ff" name="c2" id="rgbahex_c2">
通过这样做,文本框将转换为颜色选择器。但是,只有当输入框在页面完全加载之前出现在HTML中时,它才会起作用。如果你在运行时创建颜色选择器,使用下面的JavaScript来设置它:
textbox.value="ff0000ff";
PDColorPicker.setColorPicker(textbox,{rgbahex:true});
setColorPicker
也将文本框转换为颜色选择器。
我已经更新了颜色选择器以添加颜色格式AARRGGBB。在上面的例子中使用argbhex
代替rgbahex
。
您还可以使用"rgbahex_","arghex_"等来开始文本框的类名,而不是ID,将文本框转换为颜色选择器。我认为这对应于XML中的styleClass
属性。
您可以通过定义一个"修剪字符串并做这件事"函数来管理它,该函数只需要实现一次,并且只需在任何地方调用它。
我建议使用Scott建议的光谱颜色选择器,但随后您可以从中获得RGB值,并使用此属性:
background: rgba(132,182,19,.5);
这样,它将设置当前div的背景,它将像你想要的那样不透明(所以你必须找到一种方法来给它你想要的不透明度),但至少你会从选择器中获得颜色值。如果你想了解更多关于使用rgba的回退和变通方法的信息,请参阅CSS技巧。
更新:如果你必须使用十六进制值,试试这样做:
http://jsfiddle.net/WzGG6/1/- 文本框应该只允许十六进制值
- 正在将unicode转换为十六进制
- 在js中将字符串转换为十六进制
- 如何在JavaScript中将数字表示为十六进制
- 带有 TCP/IP 通信的 JavaScript 十六进制代码
- 用Javascript正则表达式过滤十六进制数字
- 如何创建和递增2或3位十六进制数字
- 将html代码转换为十六进制
- 如何检查十六进制颜色是否为“”;太黑”;
- 将十六进制字符串转换为字节数组
- 解码十六进制编码/混淆的javascript
- 如何在HTML5 / javascript中查找十六进制值的特定位或数字
- 节点.js从 UTF8 文件创建十六进制缓冲区
- 从引导程序图标十六进制值输出一个符号
- 在 JavaScript 中将原始图像的十六进制字符串转换为位图图像
- javascript:将十六进制值转换为带符号的8位整数
- 十六进制颜色码的按位补码总是返回6个字符吗?
- Javascript颜色选择器与8位十六进制
- 将24位十六进制数转换为十进制,加1,然后再转换回来
- 如何在Node.js中将十六进制位模式(字符串)转换为float