Esempio n. 1
0
function row_dump($row, $pixels)
{
    printf("[%d] ", $row);
    if ($pixels === null) {
        var_dump($pixels);
    } else {
        printf("(%d)", count($pixels));
        foreach ($pixels as $pixel) {
            $color = $pixel->getColor(false);
            printf(" #%02x%02x%02x", $color['r'], $color['g'], $color['b']);
        }
        printf("\n");
    }
}
$magick = new Imagick(__DIR__ . '/facebook.png');
$iterators = array(ImagickPixelIterator::getPixelIterator($magick), ImagickPixelIterator::getPixelRegionIterator($magick, 40, 30, 20, 10));
foreach ($iterators as $iterator) {
    for ($i = 0; $i < 5; ++$i) {
        echo "== {$i} ==\n";
        row_dump($iterator->getIteratorRow(), $iterator->getCurrentIteratorRow());
        row_dump($iterator->getIteratorRow(), $iterator->getPreviousIteratorRow());
        row_dump($iterator->getIteratorRow(), $iterator->getNextIteratorRow());
        row_dump($iterator->getIteratorRow(), $iterator->getNextIteratorRow());
        switch ($i) {
            case 0:
                $iterator->setIteratorRow(5);
                break;
            case 1:
                $iterator->setIteratorFirstRow();
                break;
            case 2:
Esempio n. 2
0
<?php

function count_rows($pix)
{
    $rows = 0;
    foreach ($pix as $r) {
        $rows++;
    }
    return $rows;
}
function count_objects($pix)
{
    $objects = 0;
    foreach ($pix as $r) {
        foreach ($r as $o) {
            $objects++;
        }
    }
    return $objects;
}
$im = new Imagick('magick:rose');
$it1 = new ImagickPixelIterator($im);
$it2 = ImagickPixelIterator::getPixelIterator($im);
echo (count_rows($it1) == count_rows($it2) ? "match" : "no") . PHP_EOL;
echo (count_objects($it1) == count_objects($it2) ? "match" : "no") . PHP_EOL;
$it1->newPixelIterator(new Imagick('magick:rose'));
echo 'done' . PHP_EOL;