The getQuantumRange is a useful function, since many of the ImageMagick functions accept parameters from 0 to a maximum of the Quantum Range. When getting a return value for this, it doesn't return a string. It actually returns an array, with one type being a String ('quantumRangeLong') and the other type being a Long Int ('quantumRangeString'). The Quantum value (the difference between the high and the low) is the maximum number of color values expressible in a single pixel within an image. Sometimes, this is called the number of unique colors expressible in a single pixel. Here's some sample code and the results, given a color, BMP file photograph that is 600x450 pixels...
<?php
// Author: holdoffhunger@gmail.com
// Imagick Type
// ---------------------------------------------
$imagick_type = new Imagick();
// Open File
// ---------------------------------------------
$file_to_grab = "image_workshop_directory/test.bmp";
$file_handle_for_viewing_image_file = fopen($file_to_grab, 'a+');
// Grab File
// ---------------------------------------------
$imagick_type->readImageFile($file_handle_for_viewing_image_file);
// Get Quantum Range
// ---------------------------------------------
$imagick_type_quantum_range = $imagick_type->getQuantumRange();
// Print Results
// ---------------------------------------------
print("<pre>");
print_r($imagick_type_quantum_range);
print("</pre>");
?>
Output:
Array
(
[quantumRangeLong] => 65535
[quantumRangeString] => 65535
)
The getQuantumDepth works much like the other "Depth" functions and much like the getQuantumRange function. Like the Depth functions, it returns a value indicating the number of bits to store the unique color values -- 16-bit = 2^16 unique colors, which is 65,535 (counting starts at '0' in binary, as opposed to '1' in decimal). Like the getQuantumRange function, it returns an array with two values, one being a long integer ('quantumDepthLong') and the other being a string ('quantumDepthLong'). The only difference, besides the variable types, is that the string version has a 'Q' prefixed to it.
Here's some sample code and the results, given a color, BMP file photograph that is 600x450 pixels...
<?php
// Author: holdoffhunger@gmail.com
// Imagick Type
// ---------------------------------------------
$imagick_type = new Imagick();
// Open File
// ---------------------------------------------
$file_to_grab = "image_workshop_directory/test.bmp";
$file_handle_for_viewing_image_file = fopen($file_to_grab, 'a+');
// Grab File
// ---------------------------------------------
$imagick_type->readImageFile($file_handle_for_viewing_image_file);
// Get Quantum Depth
// ---------------------------------------------
$imagick_type_quantum_depth = $imagick_type->getQuantumDepth();
// Print Results
// ---------------------------------------------
print("<pre>");
print_r($imagick_type_quantum_depth);
print("</pre>");
?>
Output:
Array
(
[quantumDepthLong] => 16
[quantumDepthString] => Q16
)
Official Function Page: http://www.php.net/manual/en/imagick.getquantumrange.php and http://www.php.net/manual/en/imagick.getquantumdepth.php
// Note: All code appearing on the PHP Revolution blog by the blog owner is released under the Hacktivismo Enhanced-Source Software License Agreement (HESSLA), unless otherwise noted. http://www.hacktivismo.com/about/hessla.php
No comments:
Post a Comment