对我来说,在 Mikko 的博客上阅读一篇文章非常有帮助。他表明,如果您定期同步 PixelIterator,它不是只读的
<?php
/* 使用图像创建新对象 */
$im = new Imagick( "strawberry.png" );
/* 获取迭代器 */
$it = $im->getPixelIterator();
/* 循环遍历像素行 */
foreach( $it as $row => $pixels )
{
/* 对于每隔一行 */
if ( $row % 2 )
{
/* 循环遍历行中的像素(列) */
foreach ( $pixels as $column => $pixel )
{
/* 将每隔一个像素涂成黑色 */
if ( $column % 2 )
{
$pixel->setColor( "black" );
}
}
}
/* 同步迭代器,这在每次迭代中都非常重要 */
$it->syncIterator();
}
/* 显示图像 */
header( "Content-Type: image/png" );
echo $im;
?>