note 108192 added to imagickpixel.getcolorvalue
| From: | holdoffhunger at gmail dot com | Date: | Thu, 05 Apr 2012 22:34:14 +0000 |
| Subject: | note 108192 added to imagickpixel.getcolorvalue | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-186990@lists.php.net to get a copy of this message | ||
When getting a color value back with getColorValue, you are free to use any color scheme: either the
Red/Green/Blue (RGB) scheme or the Cyan/Magenta/Yellow/blacK (CMYK) scheme. For RGB, this function
works with the constant values of "COLOR_RED", "COLOR_GREEN", and
"COLOR_BLUE," and for CMYK, this function works with the constant values of
"COLOR_CYAN", "COLOR_MAGENTA", "COLOR_YELLOW", and
"COLOR_BLACK". As a programmer, the main question you're probably asking yourself is
"How do I know if one pixel's color is different from the others?" That seems to be
defined as a unique combination of RGB *or* CMYK values. Each RGB set of values with have a unique
set of CMYK values for only that set of RGB values, so an RGB of 1/0.5/0.5 with have a unique set of
CMYK values, shared only by the other pixels of the same exact RGB values.
Why the CMYK? Because that is the standard for printing, or to quote the Imagick site, "As
such for printing we use four colored inks: Cyan, Magenta, Yellow, and blacK; and define images
using these inks, to form a CMYK color space." By being a "color space", you get the
choice of working with either RGB or CMYK when defining a pixel as being unique among a set of
pixels. But you are completely free to go with either RGB or CMYK. For more on it from the Imagick
Site:
http://www.imagemagick.org/Usage/color_basics/
Some code that demonstrates both methods: (for a purple-ish red pixel)
<?php
// Grab Pixel
// ---------------------------------------------------
$pixel_one = $imagick_type->getImagePixelColor(0,0);
// Grab Alpha/Opacity Values
// ---------------------------------------------------
$pixel_one_color_value_alpha = $pixel_one->getColorValue(imagick::COLOR_ALPHA);
$pixel_one_color_value_opacity = $pixel_one->getColorValue(imagick::COLOR_OPACITY);
// Grab Red/Green/Blue (RGB) Values
// ---------------------------------------------------
$pixel_one_color_value_red = $pixel_one->getColorValue(imagick::COLOR_RED);
$pixel_one_color_value_green = $pixel_one->getColorValue(imagick::COLOR_GREEN);
$pixel_one_color_value_blue = $pixel_one->getColorValue(imagick::COLOR_BLUE);
// Grab Cyna/Magenta/Yellow/blacK (CMYK) Values
// ---------------------------------------------------
$pixel_one_color_value_cyan = $pixel_one->getColorValue(imagick::COLOR_CYAN);
$pixel_one_color_value_magenta = $pixel_one->getColorValue(imagick::COLOR_MAGENTA);
$pixel_one_color_value_yellow = $pixel_one->getColorValue(imagick::COLOR_YELLOW);
$pixel_one_color_value_black = $pixel_one->getColorValue(imagick::COLOR_BLACK);
// Print Results
// ---------------------------------------------------
print("Alpha: $pixel_one_color_value_alpha<br>");
print("Opacity: $pixel_one_color_value_opacity<br><br>");
print("---------------------------------------------<br><br>");
print("Red: $pixel_one_color_value_red<br>");
print("Green: $pixel_one_color_value_green<br>");
print("Blue: $pixel_one_color_value_blue<br><br>");
print("Cyan: $pixel_one_color_value_cyan<br>");
print("Magenta: $pixel_one_color_value_magenta<br>");
print("Yellow: $pixel_one_color_value_yellow<br>");
print("Black: $pixel_one_color_value_black<br><br>");
/*
Example Results : : :
-----------------------
Alpha: 1
Opacity: 0
---------------------------------------------
Red: 1
Green: 0.501960784314
Blue: 0.501960784314
Cyan: 1
Magenta: 0.501960784314
Yellow: 0.501960784314
Black: 0
*/
?>
----
Server IP: 69.147.83.197
Probable Submitter: 68.9.137.178
----
Manual Page -- http://www.php.net/manual/en/imagickpixel.getcolorvalue.php
Edit -- https://master.php.net/note/edit/108192
Del: integrated -- https://master.php.net/note/delete/108192/integrated
Del: useless -- https://master.php.net/note/delete/108192/useless
Del: bad code -- https://master.php.net/note/delete/108192/bad+code
Del: spam -- https://master.php.net/note/delete/108192/spam
Del: non-english -- https://master.php.net/note/delete/108192/non-english
Del: in docs -- https://master.php.net/note/delete/108192/in+docs
Del: other reasons-- https://master.php.net/note/delete/108192
Reject -- https://master.php.net/note/reject/108192
Search -- https://master.php.net/manage/user-notes.php