summaryrefslogtreecommitdiffstats
path: root/share
diff options
context:
space:
mode:
authorbulia byak <buliabyak@gmail.com>2006-11-18 18:08:42 +0000
committerbuliabyak <buliabyak@users.sourceforge.net>2006-11-18 18:08:42 +0000
commit72bdeeed9e8f8b988b811acc1702c47745f16bea (patch)
tree337859ddd9a2acc61de5f94ee54580243d714a9d /share
parentAdd dll capabilities (diff)
downloadinkscape-72bdeeed9e8f8b988b811acc1702c47745f16bea.tar.gz
inkscape-72bdeeed9e8f8b988b811acc1702c47745f16bea.zip
add hsl adjusters; remove keep-rgb as redundant; update uris
(bzr r1982)
Diffstat (limited to 'share')
-rw-r--r--share/extensions/Makefile.am22
-rw-r--r--share/extensions/color_brighter.inx2
-rw-r--r--share/extensions/color_custom.inx4
-rw-r--r--share/extensions/color_darker.inx2
-rw-r--r--share/extensions/color_desaturate.inx2
-rw-r--r--share/extensions/color_grayscale.inx2
-rw-r--r--share/extensions/color_keepblue.py8
-rw-r--r--share/extensions/color_keepgreen.py8
-rw-r--r--share/extensions/color_keepred.py8
-rw-r--r--share/extensions/color_lesshue.inx (renamed from share/extensions/color_keepblue.inx)8
-rw-r--r--share/extensions/color_lesshue.py14
-rw-r--r--share/extensions/color_lesslight.inx (renamed from share/extensions/color_keepgreen.inx)8
-rw-r--r--share/extensions/color_lesslight.py14
-rw-r--r--share/extensions/color_lesssaturation.inx16
-rw-r--r--share/extensions/color_lesssaturation.py14
-rw-r--r--share/extensions/color_morehue.inx (renamed from share/extensions/color_keepred.inx)8
-rw-r--r--share/extensions/color_morehue.py14
-rw-r--r--share/extensions/color_morelight.inx16
-rw-r--r--share/extensions/color_morelight.py14
-rw-r--r--share/extensions/color_moresaturation.inx16
-rw-r--r--share/extensions/color_moresaturation.py14
-rw-r--r--share/extensions/color_negative.inx2
-rw-r--r--share/extensions/color_removeblue.inx2
-rw-r--r--share/extensions/color_removegreen.inx2
-rw-r--r--share/extensions/color_removered.inx2
-rw-r--r--share/extensions/color_rgbbarrel.inx2
-rw-r--r--share/extensions/coloreffect.py60
27 files changed, 229 insertions, 55 deletions
diff --git a/share/extensions/Makefile.am b/share/extensions/Makefile.am
index bc0c0b49f..cbcba7f89 100644
--- a/share/extensions/Makefile.am
+++ b/share/extensions/Makefile.am
@@ -70,14 +70,17 @@ extensions = \
color_grayscale.py\
color_brighter.py\
color_darker.py\
- color_keepblue.py\
- color_keepgreen.py\
- color_keepred.py\
color_negative.py\
color_removeblue.py\
color_removegreen.py\
color_removered.py\
- color_rgbbarrel.py
+ color_rgbbarrel.py\
+ color_moresaturation.py\
+ color_lesssaturation.py\
+ color_morelight.py\
+ color_lesslight.py\
+ color_morehue.py\
+ color_lesshue.py
otherstuff = \
@@ -145,14 +148,17 @@ modules = \
color_desaturate.inx\
color_grayscale.inx\
color_negative.inx\
- color_keepblue.inx\
- color_keepgreen.inx\
- color_keepred.inx\
color_removeblue.inx\
color_removegreen.inx\
color_removered.inx\
color_rgbbarrel.inx\
- color_custom.inx
+ color_custom.inx \
+ color_moresaturation.inx\
+ color_lesssaturation.inx\
+ color_morelight.inx\
+ color_lesslight.inx\
+ color_morehue.inx\
+ color_lesshue.inx
extension_SCRIPTS = \
diff --git a/share/extensions/color_brighter.inx b/share/extensions/color_brighter.inx
index adc34410d..48c7f5c91 100644
--- a/share/extensions/color_brighter.inx
+++ b/share/extensions/color_brighter.inx
@@ -1,6 +1,6 @@
<inkscape-extension>
<_name>Brighter</_name>
- <id>com.kaioa.brighter</id>
+ <id>org.inkscape.color.brighter</id>
<dependency type="executable" location="extensions">coloreffect.py</dependency>
<dependency type="executable" location="extensions">color_brighter.py</dependency>
<dependency type="executable" location="extensions">simplestyle.py</dependency>
diff --git a/share/extensions/color_custom.inx b/share/extensions/color_custom.inx
index 8ba2cd520..647caade7 100644
--- a/share/extensions/color_custom.inx
+++ b/share/extensions/color_custom.inx
@@ -1,6 +1,6 @@
<inkscape-extension>
- <_name>Custom</_name>
- <id>com.kaioa.zcustom</id>
+ <_name>Custom...</_name>
+ <id>org.inkscape.color.custom</id>
<dependency type="executable" location="extensions">coloreffect.py</dependency>
<dependency type="executable" location="extensions">color_custom.py</dependency>
<dependency type="executable" location="extensions">simplestyle.py</dependency>
diff --git a/share/extensions/color_darker.inx b/share/extensions/color_darker.inx
index aa937adc1..0408c788e 100644
--- a/share/extensions/color_darker.inx
+++ b/share/extensions/color_darker.inx
@@ -1,6 +1,6 @@
<inkscape-extension>
<_name>Darker</_name>
- <id>com.kaioa.darker</id>
+ <id>org.inkscape.color.darker</id>
<dependency type="executable" location="extensions">coloreffect.py</dependency>
<dependency type="executable" location="extensions">color_darker.py</dependency>
<dependency type="executable" location="extensions">simplestyle.py</dependency>
diff --git a/share/extensions/color_desaturate.inx b/share/extensions/color_desaturate.inx
index 2aa6c0201..5e25db525 100644
--- a/share/extensions/color_desaturate.inx
+++ b/share/extensions/color_desaturate.inx
@@ -1,6 +1,6 @@
<inkscape-extension>
<_name>Desaturate</_name>
- <id>com.kaioa.desaturate</id>
+ <id>org.inkscape.color.desaturate</id>
<dependency type="executable" location="extensions">coloreffect.py</dependency>
<dependency type="executable" location="extensions">color_desaturate.py</dependency>
<dependency type="executable" location="extensions">simplestyle.py</dependency>
diff --git a/share/extensions/color_grayscale.inx b/share/extensions/color_grayscale.inx
index 495a3aa18..d90ea8f3e 100644
--- a/share/extensions/color_grayscale.inx
+++ b/share/extensions/color_grayscale.inx
@@ -1,6 +1,6 @@
<inkscape-extension>
<_name>Grayscale</_name>
- <id>com.kaioa.grayscale</id>
+ <id>org.inkscape.color.grayscale</id>
<dependency type="executable" location="extensions">coloreffect.py</dependency>
<dependency type="executable" location="extensions">color_grayscale.py</dependency>
<dependency type="executable" location="extensions">simplestyle.py</dependency>
diff --git a/share/extensions/color_keepblue.py b/share/extensions/color_keepblue.py
deleted file mode 100644
index 205a87947..000000000
--- a/share/extensions/color_keepblue.py
+++ /dev/null
@@ -1,8 +0,0 @@
-import coloreffect
-
-class C(coloreffect.ColorEffect):
- def colmod(self,r,g,b):
- return '%02x%02x%02x' % (0,0,b)
-
-c = C()
-c.affect() \ No newline at end of file
diff --git a/share/extensions/color_keepgreen.py b/share/extensions/color_keepgreen.py
deleted file mode 100644
index 3da5e451b..000000000
--- a/share/extensions/color_keepgreen.py
+++ /dev/null
@@ -1,8 +0,0 @@
-import coloreffect
-
-class C(coloreffect.ColorEffect):
- def colmod(self,r,g,b):
- return '%02x%02x%02x' % (0,g,0)
-
-c = C()
-c.affect() \ No newline at end of file
diff --git a/share/extensions/color_keepred.py b/share/extensions/color_keepred.py
deleted file mode 100644
index 662e521e0..000000000
--- a/share/extensions/color_keepred.py
+++ /dev/null
@@ -1,8 +0,0 @@
-import coloreffect
-
-class C(coloreffect.ColorEffect):
- def colmod(self,r,g,b):
- return '%02x%02x%02x' % (r,0,0)
-
-c = C()
-c.affect() \ No newline at end of file
diff --git a/share/extensions/color_keepblue.inx b/share/extensions/color_lesshue.inx
index 900f5558b..453302650 100644
--- a/share/extensions/color_keepblue.inx
+++ b/share/extensions/color_lesshue.inx
@@ -1,8 +1,8 @@
<inkscape-extension>
- <_name>Keep Blue</_name>
- <id>com.kaioa.keepblue</id>
+ <_name>Less Hue</_name>
+ <id>org.inkscape.color.lesshue</id>
<dependency type="executable" location="extensions">coloreffect.py</dependency>
- <dependency type="executable" location="extensions">color_keepblue.py</dependency>
+ <dependency type="executable" location="extensions">color_lesshue.py</dependency>
<dependency type="executable" location="extensions">simplestyle.py</dependency>
<effect>
<object-type>all</object-type>
@@ -11,6 +11,6 @@
</effects-menu>
</effect>
<script>
- <command reldir="extensions" interpreter="python">color_keepblue.py</command>
+ <command reldir="extensions" interpreter="python">color_lesshue.py</command>
</script>
</inkscape-extension> \ No newline at end of file
diff --git a/share/extensions/color_lesshue.py b/share/extensions/color_lesshue.py
new file mode 100644
index 000000000..74ac5ae28
--- /dev/null
+++ b/share/extensions/color_lesshue.py
@@ -0,0 +1,14 @@
+import coloreffect, inkex
+
+class C(coloreffect.ColorEffect):
+ def colmod(self,r,g,b):
+ hsl = self.rgb_to_hsl(r/255.0, g/255.0, b/255.0)
+ #inkex.debug("hsl: " + str(hsl[0]) + ", " + str(hsl[1]) + ", " + str(hsl[2]))
+ hsl[0] = hsl[0] - 0.05
+ if hsl[0] < 0.0:
+ hsl[0] = 1.0 + hsl[0]
+ rgb = self.hsl_to_rgb(hsl[0], hsl[1], hsl[2])
+ return '%02x%02x%02x' % (rgb[0]*255, rgb[1]*255, rgb[2]*255)
+
+c = C()
+c.affect()
diff --git a/share/extensions/color_keepgreen.inx b/share/extensions/color_lesslight.inx
index 0ee1dddd0..bf0989257 100644
--- a/share/extensions/color_keepgreen.inx
+++ b/share/extensions/color_lesslight.inx
@@ -1,8 +1,8 @@
<inkscape-extension>
- <_name>Keep Green</_name>
- <id>com.kaioa.keepgreen</id>
+ <_name>Less Light</_name>
+ <id>org.inkscape.color.lesslight</id>
<dependency type="executable" location="extensions">coloreffect.py</dependency>
- <dependency type="executable" location="extensions">color_keepgreen.py</dependency>
+ <dependency type="executable" location="extensions">color_lesslight.py</dependency>
<dependency type="executable" location="extensions">simplestyle.py</dependency>
<effect>
<object-type>all</object-type>
@@ -11,6 +11,6 @@
</effects-menu>
</effect>
<script>
- <command reldir="extensions" interpreter="python">color_keepgreen.py</command>
+ <command reldir="extensions" interpreter="python">color_lesslight.py</command>
</script>
</inkscape-extension> \ No newline at end of file
diff --git a/share/extensions/color_lesslight.py b/share/extensions/color_lesslight.py
new file mode 100644
index 000000000..6f912f0ea
--- /dev/null
+++ b/share/extensions/color_lesslight.py
@@ -0,0 +1,14 @@
+import coloreffect, inkex
+
+class C(coloreffect.ColorEffect):
+ def colmod(self,r,g,b):
+ hsl = self.rgb_to_hsl(r/255.0, g/255.0, b/255.0)
+ #inkex.debug("hsl: " + str(hsl[0]) + ", " + str(hsl[1]) + ", " + str(hsl[2]))
+ hsl[2] = hsl[2] - 0.05
+ if hsl[2] < 0.0:
+ hsl[2] = 0.0
+ rgb = self.hsl_to_rgb(hsl[0], hsl[1], hsl[2])
+ return '%02x%02x%02x' % (rgb[0]*255, rgb[1]*255, rgb[2]*255)
+
+c = C()
+c.affect()
diff --git a/share/extensions/color_lesssaturation.inx b/share/extensions/color_lesssaturation.inx
new file mode 100644
index 000000000..aa96cf14f
--- /dev/null
+++ b/share/extensions/color_lesssaturation.inx
@@ -0,0 +1,16 @@
+<inkscape-extension>
+ <_name>Less Saturation</_name>
+ <id>org.inkscape.color.lesssaturation</id>
+ <dependency type="executable" location="extensions">coloreffect.py</dependency>
+ <dependency type="executable" location="extensions">color_lesssaturation.py</dependency>
+ <dependency type="executable" location="extensions">simplestyle.py</dependency>
+ <effect>
+ <object-type>all</object-type>
+ <effects-menu>
+ <submenu _name="Color"/>
+ </effects-menu>
+ </effect>
+ <script>
+ <command reldir="extensions" interpreter="python">color_lesssaturation.py</command>
+ </script>
+</inkscape-extension> \ No newline at end of file
diff --git a/share/extensions/color_lesssaturation.py b/share/extensions/color_lesssaturation.py
new file mode 100644
index 000000000..422a01994
--- /dev/null
+++ b/share/extensions/color_lesssaturation.py
@@ -0,0 +1,14 @@
+import coloreffect, inkex
+
+class C(coloreffect.ColorEffect):
+ def colmod(self,r,g,b):
+ hsl = self.rgb_to_hsl(r/255.0, g/255.0, b/255.0)
+ #inkex.debug("hsl: " + str(hsl[0]) + ", " + str(hsl[1]) + ", " + str(hsl[2]))
+ hsl[1] = hsl[1] - 0.05
+ if hsl[1] < 0.0:
+ hsl[1] = 0.0
+ rgb = self.hsl_to_rgb(hsl[0], hsl[1], hsl[2])
+ return '%02x%02x%02x' % (rgb[0]*255, rgb[1]*255, rgb[2]*255)
+
+c = C()
+c.affect()
diff --git a/share/extensions/color_keepred.inx b/share/extensions/color_morehue.inx
index 824fa2bc4..76300ab78 100644
--- a/share/extensions/color_keepred.inx
+++ b/share/extensions/color_morehue.inx
@@ -1,8 +1,8 @@
<inkscape-extension>
- <_name>Keep Red</_name>
- <id>com.kaioa.keepred</id>
+ <_name>More Hue</_name>
+ <id>org.inkscape.color.morehue</id>
<dependency type="executable" location="extensions">coloreffect.py</dependency>
- <dependency type="executable" location="extensions">color_keepred.py</dependency>
+ <dependency type="executable" location="extensions">color_morehue.py</dependency>
<dependency type="executable" location="extensions">simplestyle.py</dependency>
<effect>
<object-type>all</object-type>
@@ -11,6 +11,6 @@
</effects-menu>
</effect>
<script>
- <command reldir="extensions" interpreter="python">color_keepred.py</command>
+ <command reldir="extensions" interpreter="python">color_morehue.py</command>
</script>
</inkscape-extension> \ No newline at end of file
diff --git a/share/extensions/color_morehue.py b/share/extensions/color_morehue.py
new file mode 100644
index 000000000..bc25274ac
--- /dev/null
+++ b/share/extensions/color_morehue.py
@@ -0,0 +1,14 @@
+import coloreffect, inkex
+
+class C(coloreffect.ColorEffect):
+ def colmod(self,r,g,b):
+ hsl = self.rgb_to_hsl(r/255.0, g/255.0, b/255.0)
+ #inkex.debug("hsl: " + str(hsl[0]) + ", " + str(hsl[1]) + ", " + str(hsl[2]))
+ hsl[0] = hsl[0] + 0.05
+ if hsl[0] > 1.0:
+ hsl[0] = hsl[0] - 1.0
+ rgb = self.hsl_to_rgb(hsl[0], hsl[1], hsl[2])
+ return '%02x%02x%02x' % (rgb[0]*255, rgb[1]*255, rgb[2]*255)
+
+c = C()
+c.affect()
diff --git a/share/extensions/color_morelight.inx b/share/extensions/color_morelight.inx
new file mode 100644
index 000000000..8b97adf22
--- /dev/null
+++ b/share/extensions/color_morelight.inx
@@ -0,0 +1,16 @@
+<inkscape-extension>
+ <_name>More Light</_name>
+ <id>org.inkscape.color.morelight</id>
+ <dependency type="executable" location="extensions">coloreffect.py</dependency>
+ <dependency type="executable" location="extensions">color_morelight.py</dependency>
+ <dependency type="executable" location="extensions">simplestyle.py</dependency>
+ <effect>
+ <object-type>all</object-type>
+ <effects-menu>
+ <submenu _name="Color"/>
+ </effects-menu>
+ </effect>
+ <script>
+ <command reldir="extensions" interpreter="python">color_morelight.py</command>
+ </script>
+</inkscape-extension> \ No newline at end of file
diff --git a/share/extensions/color_morelight.py b/share/extensions/color_morelight.py
new file mode 100644
index 000000000..483af7fa0
--- /dev/null
+++ b/share/extensions/color_morelight.py
@@ -0,0 +1,14 @@
+import coloreffect, inkex
+
+class C(coloreffect.ColorEffect):
+ def colmod(self,r,g,b):
+ hsl = self.rgb_to_hsl(r/255.0, g/255.0, b/255.0)
+ #inkex.debug("hsl: " + str(hsl[0]) + ", " + str(hsl[1]) + ", " + str(hsl[2]))
+ hsl[2] = hsl[2] + 0.05
+ if hsl[2] > 1.0:
+ hsl[2] = 1.0
+ rgb = self.hsl_to_rgb(hsl[0], hsl[1], hsl[2])
+ return '%02x%02x%02x' % (rgb[0]*255, rgb[1]*255, rgb[2]*255)
+
+c = C()
+c.affect()
diff --git a/share/extensions/color_moresaturation.inx b/share/extensions/color_moresaturation.inx
new file mode 100644
index 000000000..0c4a0bfa9
--- /dev/null
+++ b/share/extensions/color_moresaturation.inx
@@ -0,0 +1,16 @@
+<inkscape-extension>
+ <_name>More Saturation</_name>
+ <id>org.inkscape.color.moresaturation</id>
+ <dependency type="executable" location="extensions">coloreffect.py</dependency>
+ <dependency type="executable" location="extensions">color_moresaturation.py</dependency>
+ <dependency type="executable" location="extensions">simplestyle.py</dependency>
+ <effect>
+ <object-type>all</object-type>
+ <effects-menu>
+ <submenu _name="Color"/>
+ </effects-menu>
+ </effect>
+ <script>
+ <command reldir="extensions" interpreter="python">color_moresaturation.py</command>
+ </script>
+</inkscape-extension> \ No newline at end of file
diff --git a/share/extensions/color_moresaturation.py b/share/extensions/color_moresaturation.py
new file mode 100644
index 000000000..2ae7f33b7
--- /dev/null
+++ b/share/extensions/color_moresaturation.py
@@ -0,0 +1,14 @@
+import coloreffect, inkex
+
+class C(coloreffect.ColorEffect):
+ def colmod(self,r,g,b):
+ hsl = self.rgb_to_hsl(r/255.0, g/255.0, b/255.0)
+ #inkex.debug("hsl: " + str(hsl[0]) + ", " + str(hsl[1]) + ", " + str(hsl[2]))
+ hsl[1] = hsl[1] + 0.05
+ if hsl[1] > 1.0:
+ hsl[1] = 1.0
+ rgb = self.hsl_to_rgb(hsl[0], hsl[1], hsl[2])
+ return '%02x%02x%02x' % (rgb[0]*255, rgb[1]*255, rgb[2]*255)
+
+c = C()
+c.affect()
diff --git a/share/extensions/color_negative.inx b/share/extensions/color_negative.inx
index 7dc73c3cc..bdf0f4cb0 100644
--- a/share/extensions/color_negative.inx
+++ b/share/extensions/color_negative.inx
@@ -1,6 +1,6 @@
<inkscape-extension>
<_name>Negative</_name>
- <id>com.kaioa.negative</id>
+ <id>org.inkscape.color.negative</id>
<dependency type="executable" location="extensions">coloreffect.py</dependency>
<dependency type="executable" location="extensions">color_negative.py</dependency>
<dependency type="executable" location="extensions">simplestyle.py</dependency>
diff --git a/share/extensions/color_removeblue.inx b/share/extensions/color_removeblue.inx
index 2dadb5a53..db3062ff5 100644
--- a/share/extensions/color_removeblue.inx
+++ b/share/extensions/color_removeblue.inx
@@ -1,6 +1,6 @@
<inkscape-extension>
<_name>Remove Blue</_name>
- <id>com.kaioa.removeblue</id>
+ <id>org.inkscape.color.removeblue</id>
<dependency type="executable" location="extensions">coloreffect.py</dependency>
<dependency type="executable" location="extensions">color_removeblue.py</dependency>
<dependency type="executable" location="extensions">simplestyle.py</dependency>
diff --git a/share/extensions/color_removegreen.inx b/share/extensions/color_removegreen.inx
index 13ea8666b..2e70dea29 100644
--- a/share/extensions/color_removegreen.inx
+++ b/share/extensions/color_removegreen.inx
@@ -1,6 +1,6 @@
<inkscape-extension>
<_name>Remove Green</_name>
- <id>com.kaioa.removegreen</id>
+ <id>org.inkscape.color.removegreen</id>
<dependency type="executable" location="extensions">coloreffect.py</dependency>
<dependency type="executable" location="extensions">color_removegreen.py</dependency>
<dependency type="executable" location="extensions">simplestyle.py</dependency>
diff --git a/share/extensions/color_removered.inx b/share/extensions/color_removered.inx
index ef74410d7..1565fc676 100644
--- a/share/extensions/color_removered.inx
+++ b/share/extensions/color_removered.inx
@@ -1,6 +1,6 @@
<inkscape-extension>
<_name>Remove Red</_name>
- <id>com.kaioa.removered</id>
+ <id>org.inkscape.color.removered</id>
<dependency type="executable" location="extensions">coloreffect.py</dependency>
<dependency type="executable" location="extensions">color_removered.py</dependency>
<dependency type="executable" location="extensions">simplestyle.py</dependency>
diff --git a/share/extensions/color_rgbbarrel.inx b/share/extensions/color_rgbbarrel.inx
index a676dae85..79d2fbc7d 100644
--- a/share/extensions/color_rgbbarrel.inx
+++ b/share/extensions/color_rgbbarrel.inx
@@ -1,6 +1,6 @@
<inkscape-extension>
<_name>RGB Barrel</_name>
- <id>com.kaioa.rgbbarrel</id>
+ <id>org.inkscape.color.rgbbarrel</id>
<dependency type="executable" location="extensions">coloreffect.py</dependency>
<dependency type="executable" location="extensions">color_rgbbarrel.py</dependency>
<dependency type="executable" location="extensions">simplestyle.py</dependency>
diff --git a/share/extensions/coloreffect.py b/share/extensions/coloreffect.py
index c1ed15065..688199475 100644
--- a/share/extensions/coloreffect.py
+++ b/share/extensions/coloreffect.py
@@ -24,6 +24,7 @@ color_props_fill=('fill:','stop-color:','flood-color:','lighting-color:')
color_props_stroke=('stroke:',)
color_props = color_props_fill + color_props_stroke
+
class ColorEffect(inkex.Effect):
def __init__(self):
inkex.Effect.__init__(self,use_minidom=True)
@@ -105,3 +106,62 @@ class ColorEffect(inkex.Effect):
def colmod(self,r,g,b):
pass
+
+ def rgb_to_hsl(self,r, g, b):
+ rgb_max = max (max (r, g), b)
+ rgb_min = min (min (r, g), b)
+ delta = rgb_max - rgb_min
+ hsl = [0.0, 0.0, 0.0]
+ hsl[2] = (rgb_max + rgb_min)/2.0
+ if delta == 0:
+ hsl[0] = 0.0
+ hsl[1] = 0.0
+ else:
+ if hsl[2] <= 0.5:
+ hsl[1] = delta / (rgb_max + rgb_min)
+ else:
+ hsl[1] = delta / (2 - rgb_max - rgb_min)
+ if r == rgb_max:
+ hsl[0] = (g - b) / delta
+ else:
+ if g == rgb_max:
+ hsl[0] = 2.0 + (b - r) / delta
+ else:
+ if b == rgb_max:
+ hsl[0] = 4.0 + (r - g) / delta
+ hsl[0] = hsl[0] / 6.0
+ if hsl[0] < 0:
+ hsl[0] = hsl[0] + 1
+ if hsl[0] > 1:
+ hsl[0] = hsl[0] - 1
+ return hsl
+
+ def hue_2_rgb (self, v1, v2, h):
+ if h < 0:
+ h += 6.0
+ if h > 6:
+ h -= 6.0
+ if h < 1:
+ return v1 + (v2 - v1) * h
+ if h < 3:
+ return v2
+ if h < 4:
+ return v1 + (v2 - v1) * (4 - h)
+ return v1
+
+ def hsl_to_rgb (self,h, s, l):
+ rgb = [0, 0, 0]
+ if s == 0:
+ rgb[0] = l
+ rgb[1] = l
+ rgb[2] = l
+ else:
+ if l < 0.5:
+ v2 = l * (1 + s)
+ else:
+ v2 = l + s - l*s
+ v1 = 2*l - v2
+ rgb[0] = self.hue_2_rgb (v1, v2, h*6 + 2.0)
+ rgb[1] = self.hue_2_rgb (v1, v2, h*6)
+ rgb[2] = self.hue_2_rgb (v1, v2, h*6 - 2.0)
+ return rgb