Files
2024-09-09 09:20:24 -03:00

111 lines
3.0 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: fa0c88f1e36a3f28b4fcee0b2d1e188b54e0c44b Maintainer: leonardolara Status: ready --><!-- CREDITS: leonardolara -->
<refentry xmlns="http://docbook.org/ns/docbook" xml:id="imagickpixeliterator.resetiterator">
<refnamediv>
<refname>ImagickPixelIterator::resetIterator</refname>
<refpurpose>Redefine o iterador de pixel</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<modifier>public</modifier> <type>bool</type><methodname>ImagickPixelIterator::resetIterator</methodname>
<void/>
</methodsynopsis>
&warn.undocumented.func;
<para>
Redefine o iterador de pixel. Use-o em conjunto com
ImagickPixelIterator::getNextIteratorRow() para iterar sobre todos os pixels
em um contêiner de pixels.
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&imagick.return.success;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Exemplo de <function>ImagickPixelIterator::resetIterator</function></title>
<programlisting role="php">
<![CDATA[
<?php
function resetIterator($imagePath) {
$imagick = new \Imagick(realpath($imagePath));
$imageIterator = $imagick->getPixelIterator();
/* Itera obre linhas de pixels */
foreach ($imageIterator as $pixels) {
/* Itera sobre os pixels na linha (colunas) */
foreach ($pixels as $column => $pixel) {
/** @var $pixel \ImagickPixel */
if ($column % 2) {
/* Torna cada segundo pixel vermelho 25% */
$pixel->setColorValue(\Imagick::COLOR_RED, 64);
}
}
/* Sincroniza o iterador, importante fazer isso a cada iteração */
$imageIterator->syncIterator();
}
$imageIterator->resetiterator();
/* Itera obre linhas de pixels */
foreach ($imageIterator as $pixels) {
/* Itera sobre os pixels na linha (colunas) */
foreach ($pixels as $column => $pixel) {
/** @var $pixel \ImagickPixel */
if ($column % 3) {
$pixel->setColorValue(\Imagick::COLOR_BLUE, 64); /* Torna cada segundo pixel um pouco azul */
//$pixel->setColor("rgba(0, 0, 128, 0)"); /* Pinta cada segundo pixel de preto */
}
}
$imageIterator->syncIterator(); /* Sincroniza o iterador, importante fazer isso a cada iteração */
}
$imageIterator->clear();
header("Content-Type: image/jpg");
echo $imagick;
}
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->