(PECL imagick 2.0.0)
Imagick::getPixelIterator — Returns a MagickPixelIterator
Returns an ImagickPixelIterator on success.
错误时抛出 ImagickException。
Sebastian Herold (2008-06-30 01:06:20)
For me it was very helpful to read a article at Mikko's blog. He showed that the PixelIterator is not read-only, if you sync it regularly:
<?php
/* Create new object with the image */
$im = new Imagick( "strawberry.png" );
/* Get iterator */
$it = $im->getPixelIterator();
/* Loop trough pixel rows */
foreach( $it as $row => $pixels )
{
/* For every second row */
if ( $row % 2 )
{
/* Loop trough the pixels in the row (columns) */
foreach ( $pixels as $column => $pixel )
{
/* Paint every second pixel black*/
if ( $column % 2 )
{
$pixel->setColor( "black" );
}
}
}
/* Sync the iterator, this is important to do on each iteration */
$it->syncIterator();
}
/* Display the image */
header( "Content-Type: image/png" );
echo $im;
?>