View on
MetaCPAN
Takahiro Onodera > Color-Model-Munsell-0.02 > Color::Model::Munsell

Download:
Color-Model-Munsell-0.02.tar.gz

Dependencies

Annotate this POD

View/Report Bugs
Module Version: 0.02   Source  

NAME ^

Color::Model::Munsell - Color model of Munsell color system

SYNOPSIS ^

Chromatic color;

    $mun = Color::Model::Munsell->new("9R 5.5/14");
    $mun = Color::Model::Munsell->new("7PB", 4, 10);
    print "$mum is chromatic color" if !$mun->isneutral;

Neutral grays;

    $mun = Color::Model::Munsell->new("N 4.5");
    $mun = Color::Model::Munsell->new("N", 9);
    print "$mum is neutral color" if $mun->isneutral;

CONSTRUCTORS ^

new()

    # with Munsell color specifying
    $m = Color::Model::Munsell->new("9R 5.5/14");
    $m = Color::Model::Munsell->new("N 4.5");

    # with parapeters
    $m = Color::Model::Munsell->new("7PB", 4, 10);
    $m = Color::Model::Munsell->new("N", 9);

If number part of hue is 0, it becomes 10.0 of previous hue color on the circle.

Value(as Lightness) or chroma has thier range; 0 <= value <= 10.0 # if 0 or 10, it will be regraded as black or white 0 <= chroma # if 0, it will be gray

and these number will be rounded up to the tenth's place with sprintf().

If constructor returns undef, it means some error occurs. When this case, Check $Color::Model::Munsell::ERROR that have a reason of an error.

Munsell()

Munsell() is defalut exporting subroutine which calls new().

    $m = Munsell("9R 5.5/14");

CONSTANTS ^

There are some constants which makes black or white object. Use tag ":vertexes" or ":all".

PUREWHITE()

return an object of "N 10.0"

PUREBLACK();

return an object of "N 0.0"

REALWHITE();

return an object of "N 9.5"

REALBLACK();

return an object of "N 1.0"

METHODS ^

Object Color::Model::Munsell has methods below.

code()

Returns Munsell code like "5R 10/14" or "N 4.5".

ischromatic()

Returns 1 if object is chromatic, or 0.

isneutral()

Returns 1 if object is neutral color, or 0.

isblack()

Return 1 if value is equal or lesser than 1.0, or 0

iswhite()

Return 1 if value is equal or greater than 9.5, or 0

hue()

Returns hue code like "5R" or "N".

hueCol()

Returns color sign of hue; R,YR,Y,GY,G,BG,B,PB,P,RP or N

hueStep();

Returns number of hue (gray returns undef)

value()

Returns Munsell value.

lightness()

Same as value()

chroma()

Returns Munsell chroma.

saturation()

Same as chroma().

degree()

See degree() below.

SUBROUTINES ^

degree()

    print $m->degree();
    print degree("7.5B");

Subroutine or object method degree() return a serial hue number, considering 10.0RP is 0, 10R is 10, 10YR is 20, ..., and ends 9.9RP as 99.9. This will be useful to get radians of Muncell color circle. If object is neutral, this returns undef.

undegree();

    print undegree();

Function undegree() return a hue code from a serial hue number.

OPERATOR OVERLOAD ^

Stringify operator of this module, Color::Model::Munsell, is prepared. If you join a object with some string, object will be Munsell code.

    $m = Color::Model::Munsell->new("9R", 5.5, 14);
    print "$m is red";    # printing "9R 5.5/14 is red"

BUGS ^

Please report any bugs or feature requests to bug-color-model-munsell at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Color-Model-Munsell. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

AUTHOR ^

Takahiro Onodera, <ong at garakuta.net>

LICENSE AND COPYRIGHT ^

Copyright 2010 T.Onodera.

This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.

See http://dev.perl.org/licenses/ for more information.

syntax highlighting: