X-Git-Url: http://git.ieval.ro/?a=blobdiff_plain;f=lib%2FConvert%2FColor%2FLUV.pm;h=af09d7977d5e167dde17612841c5532c8ae791c3;hb=a17d2402f10384cb86b2b33118be1b0c2eb47024;hp=886deb736f1119adbd19c136ead0e7e2d3ef7424;hpb=1f72b051c754be821a14b94b1828d71e40631de3;p=convert-color-husl.git diff --git a/lib/Convert/Color/LUV.pm b/lib/Convert/Color/LUV.pm index 886deb7..af09d79 100644 --- a/lib/Convert/Color/LUV.pm +++ b/lib/Convert/Color/LUV.pm @@ -1,20 +1,25 @@ package Convert::Color::LUV; -use 5.014000; +use 5.008009; use strict; use warnings; use parent qw/Convert::Color/; use Convert::Color::XYZ; -our $VERSION = '0.001'; +our $VERSION = '1.000'; use constant +{ ## no critic (Capitalization) - KAPPA => 903.2962962, - EPS => 0.0088564516, + KAPPA => (29/3) ** 3, + EPS => (6/29) ** 3, - REF_U => 0.19783000664283, - REF_V => 0.46831999493879, + REF_X => 3127/3290, + REF_Z => 3583/3290, +}; + +use constant +{ ## no critic (Capitalization) + REF_U => 4 * REF_X / (REF_X + 15 + 3 * REF_Z), + REF_V => 9 / (REF_X + 15 + 3 * REF_Z), }; __PACKAGE__->register_color_space('luv'); @@ -49,7 +54,7 @@ sub convert_to_xyz { my $var_v = $v / (13 * $l) + REF_V; my $y = _l_to_y $l; my $x = 9 * $y * $var_u / (4 * $var_v); - my $z = (9 * $y - (14 * $var_v * $y) - ($var_v * $x)) / (3 * $var_v); + my $z = (9 * $y - (15 * $var_v * $y) - ($var_v * $x)) / (3 * $var_v); Convert::Color::XYZ->new($x, $y, $z) }