(PECL imagick 2.0.0)
Imagick::getPixelIterator — Returns a MagickPixelIterator
Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.
Returns a MagickPixelIterator.
Returns an ImagickPixelIterator on success. Wirf eine ImagickException bei einem Fehler.
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;
       
?>