(PECL imagick 2, PECL imagick 3)
Imagick::getPixelRegionIterator β ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ ImagickPixelIterator Π΄Π»Ρ ΡΠ΅ΠΊΡΠΈΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ
$x,$y,$columns,$rowsΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ ImagickPixelIterator Π΄Π»Ρ ΡΠ΅ΠΊΡΠΈΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ.
xΠΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ° ΠΎΠ±Π»Π°ΡΡΠΈ X.
yΠΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ° ΠΎΠ±Π»Π°ΡΡΠΈ Y.
columnsΠ¨ΠΈΡΠΈΠ½Π° ΠΎΠ±Π»Π°ΡΡΠΈ.
rowsΠΡΡΠΎΡΠ° ΠΎΠ±Π»Π°ΡΡΠΈ.
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ ImagickPixelIterator Π΄Π»Ρ ΡΠ΅ΠΊΡΠΈΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ.
Π€ΡΠ½ΠΊΡΠΈΡ Π²ΡΠ±ΡΠ°ΡΡΠ²Π°Π΅Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ImagickException, Π΅ΡΠ»ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ΠΎΡΠΈΠ±ΠΊΠ°.
ΠΡΠΈΠΌΠ΅Ρ #1 ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ Imagick::getPixelRegionIterator()
ΠΡΠΎΠ±Π΅Π³Π°Π΅Ρ ΠΏΠΎ ΠΏΠΈΠΊΡΠ΅Π»ΡΠΌ Π²Π²Π΅ΡΡ Ρ ΡΠ»Π΅Π²Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈ Π·Π°ΠΌΠ΅Π½ΡΠ΅Ρ ΠΈΡ Π½Π° ΡΡΡΠ½ΡΠ΅.
<?php
$im = new Imagick(realpath("./testImage.png"));
$areaIterator = $im->getPixelRegionIterator(0, 0, 10, 10);
foreach ($areaIterator as $rowIterator) {
foreach ($rowIterator as $pixel) {
// ΠΡΠ°ΡΠΈΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΏΠΈΠΊΡΠ΅Π»Ρ ΡΠ΅ΡΠ½ΡΠΌ
$pixel->setColor("rgba(0, 0, 0, 0)");
}
$areaIterator->syncIterator();
}
$im->writeImage("./output.png");
?>