【问题标题】:Making 'custom colour dialog' in Firefox在 Firefox 中制作“自定义颜色对话框”
【发布时间】:2009-07-01 12:24:08
【问题描述】:

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

CodeProject: Custom Color Dialog Box

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

提前感谢您! =)

【问题讨论】:

    标签: javascript firefox firefox-addon


    【解决方案1】:
    【解决方案2】:

    对于色板部分,我会用一个独特的事件处理程序制作一个小<table>,使用事件冒泡来确定点击了哪个色板。

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

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

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

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

    【讨论】:

    • 感谢您的出色回答。我学到了新东西! =) 但是,我想我现在无法花时间编写所有带有 id 等的表。对于这个问题,我更多的是寻找一些代码重用。肯定有人写过类似的东西,因为这是大多数人想要的东西。 C# 有类似 CustomColourDialog = new CustomColourDialog(Handle) 之类的东西,然后 snap,它几乎全部完成了!说了这么多,谢谢帮忙! =) 赞赏!
    猜你喜欢
    • 1970-01-01
    • 2021-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多