我正在制作Firefox扩展程序,并希望让我的用户更好地控制事物的外观和感觉。在我的扩展程序的偏好设置面板中,我希望获得与此相近的内容: -
CodeProject: Custom Color Dialog Box
我知道我可以通过为尽可能多的颜色制作许多不同的div来实现这一点,并添加事件监听器以查看用户是否选择了颜色,但这将是太多的工作并且可能会消耗太多时间。我想知道是否有一种更简单的方法可以做到这一点,因为我想一定有人曾经这样做过。 (通过XPCOM组件可能?)
提前谢谢! =)
答案 0 :(得分:1)
对于样本部分,我会使用一个独特的事件处理程序创建一个<table>
,使用事件冒泡来确定单击了哪个样本。
对于自定义颜色选择器,我会放置一个固定的背景图像,相对于该图像读取光标X和Y,并根据X = Hue,Y =饱和度确定光标下面的颜色。
对于Luminosity,您可以使用不同的技术:背景颜色(在色调变化时更改)和顶部渐变透明覆盖,从完全透明到完全透明。在X轴上你应该有亮度。
您可以动态地将HLS转换为RGB(http://wiki.beyondunreal.com/Legacy:HLS_To_RGB_Conversion)
其余的应该足够简单。如果您需要更多详细信息,请与我们联系:)
答案 1 :(得分:1)