Imagick
在线手册:中文  英文

Imagick::getPixelIterator

(PECL imagick 2.0.0)

Imagick::getPixelIteratorReturns a MagickPixelIterator

说明

ImagickPixelIterator Imagick::getPixelIterator ( void )

Returns a MagickPixelIterator.

返回值

Returns an ImagickPixelIterator on success.

错误/异常

错误时抛出 ImagickException。


Imagick
在线手册:中文  英文

用户评论:

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 )
          {
              
/* Loop trough the pixels in the row (columns) */
              
foreach ( $pixels as $column => $pixel )
              {
                      
/* Paint every second pixel black*/
                      
if ( $column )
                      {
                              
$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;
       
?>

易百教程