0

我正在制作一个 Firefox 扩展,并希望让我的用户更好地控制事物的外观和感觉。在我的扩展程序的首选项窗格中,我想实现接近此的目标:-

CodeProject:自定义颜色对话框

我知道我可以通过为尽可能多的颜色制作许多不同的 div 并添加事件侦听器来查看用户是否选择了一种颜色来实现这一点,但这将是太多的工作并且可能会消耗太多的时间。我想知道是否有更简单的方法可以做到这一点,因为我想以前一定有人做过。(可能通过 XPCOM 组件?)

先感谢您!=)

4

2 回答 2

1

对于样本部分,我会<table>使用一个独特的事件处理程序,使用事件冒泡来确定单击了哪个样本。

对于自定义颜色选择器,我会放置一个固定的背景图像,读取相对于该图像的光标 X 和 Y,并根据 X = Hue,Y = Saturation 找出光标下方的颜色。

对于 Luminosity,您可以使用不同的技术来做同样的事情:背景颜色(当色调变化时会改变)和顶部的渐变透明叠加层,从完全不透明到完全透明。在 X 轴上,你应该有 Luminosity。

您可以即时将 HLS 转换为 RGB ( http://wiki.beyondunreal.com/Legacy:HLS_To_RGB_Conversion )

其余的应该足够简单。如果您需要更多详细信息,请告诉我:)

于 2009-07-01T20:18:53.820 回答