<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/class.imagick.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'tr',
  ),
  'this' => 
  array (
    0 => 'imagick.setprogressmonitor.php',
    1 => 'Imagick::setProgressMonitor',
    2 => 'Set a callback to be called during processing',
  ),
  'up' => 
  array (
    0 => 'class.imagick.php',
    1 => 'Imagick',
  ),
  'prev' => 
  array (
    0 => 'imagick.setpointsize.php',
    1 => 'Imagick::setPointSize',
  ),
  'next' => 
  array (
    0 => 'imagick.setregistry.php',
    1 => 'Imagick::setRegistry',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'en',
    'path' => 'reference/imagick/imagick/setprogressmonitor.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="imagick.setprogressmonitor" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">Imagick::setProgressMonitor</h1>
  <p class="verinfo">(PECL imagick 3 &gt;= 3.3.0)</p><p class="refpurpose"><span class="refname">Imagick::setProgressMonitor</span> &mdash; <span class="dc-title">Set a callback to be called during processing</span></p>

 </div>

 <div class="refsect1 description" id="refsect1-imagick.setprogressmonitor-description">
  <h3 class="title">Açıklama</h3>
  <div class="methodsynopsis dc-description">
   <span class="modifier">public</span> <span class="methodname"><strong>Imagick::setProgressMonitor</strong></span>(<span class="methodparam"><span class="type"><a href="language.types.callable.php" class="type callable">callable</a></span> <code class="parameter">$callback</code></span>): <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span></div>

  <p class="para rdfs-comment">
   Set a callback that will be called during the processing of the Imagick image.
  </p>

 

 </div>


 <div class="refsect1 parameters" id="refsect1-imagick.setprogressmonitor-parameters">
  <h3 class="title">Bağımsız Değişkenler</h3>
  <dl>
   
    <dt><code class="parameter">callback</code></dt>
    <dd>
     <p class="para">
      The progress function to call. It should return true if image processing should continue, or false if it should be cancelled. The offset parameter indicates the progress and the span parameter indicates the total amount of work needed to be done.
     </p>
     
     <div class="methodsynopsis dc-description">
      <span class="methodname">
       <span class="replaceable">callback</span>
      </span>(<span class="methodparam">
       <span class="type"><a href="language.types.mixed.php" class="type mixed">mixed</a></span> <code class="parameter">$offset</code>
      </span>, <span class="methodparam">
       
       <span class="type"><a href="language.types.mixed.php" class="type mixed">mixed</a></span> <code class="parameter">$span</code>
      </span>): <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span></div>


     <div class="caution"><strong class="caution">Dikkat</strong>
      <p class="para">
       The values passed to the callback function are not consistent. In particular the span parameter can increase during image processing. Because of this calculating the percentage complete of an image operation is not trivial.
      </p>
     </div>
     
    </dd>
   
  </dl>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-imagick.setprogressmonitor-returnvalues">
  <h3 class="title">Dönen Değerler</h3>
  <p class="para">
   Başarı durumunda <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong> döner.
  </p>
 </div>





 <div class="refsect1 examples" id="refsect1-imagick.setprogressmonitor-examples">
  <h3 class="title">Örnekler</h3>
  <p class="para">
    <div class="example" id="example-1">
      <p><strong>Örnek 1  <span class="function"><strong>Imagick::setProgressMonitor()</strong></span></strong></p>
      <div class="example-contents">
      <div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />        $abortReason </span><span style="color: #007700">= </span><span style="color: #0000BB">null</span><span style="color: #007700">;<br />        <br />        try {<br />            </span><span style="color: #0000BB">$imagick </span><span style="color: #007700">= new </span><span style="color: #0000BB">\Imagick</span><span style="color: #007700">(</span><span style="color: #0000BB">realpath</span><span style="color: #007700">(</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">control</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getImagePath</span><span style="color: #007700">()));<br />            </span><span style="color: #0000BB">$startTime </span><span style="color: #007700">= </span><span style="color: #0000BB">time</span><span style="color: #007700">();<br /><br />            </span><span style="color: #0000BB">$callback </span><span style="color: #007700">= function (</span><span style="color: #0000BB">$offset</span><span style="color: #007700">, </span><span style="color: #0000BB">$span</span><span style="color: #007700">)  use (</span><span style="color: #0000BB">$startTime</span><span style="color: #007700">, &amp;</span><span style="color: #0000BB">$abortReason</span><span style="color: #007700">) {<br />                if (((</span><span style="color: #0000BB">100 </span><span style="color: #007700">* </span><span style="color: #0000BB">$offset</span><span style="color: #007700">) / </span><span style="color: #0000BB">$span</span><span style="color: #007700">)  &gt; </span><span style="color: #0000BB">20</span><span style="color: #007700">) {<br />                    </span><span style="color: #0000BB">$abortReason </span><span style="color: #007700">= </span><span style="color: #DD0000">"Processing reached 20%"</span><span style="color: #007700">;<br />                    return </span><span style="color: #0000BB">false</span><span style="color: #007700">;<br />                }<br /><br />                </span><span style="color: #0000BB">$nowTime </span><span style="color: #007700">= </span><span style="color: #0000BB">time</span><span style="color: #007700">();<br /><br />                if (</span><span style="color: #0000BB">$nowTime </span><span style="color: #007700">- </span><span style="color: #0000BB">$startTime </span><span style="color: #007700">&gt; </span><span style="color: #0000BB">5</span><span style="color: #007700">) {<br />                    </span><span style="color: #0000BB">$abortReason </span><span style="color: #007700">= </span><span style="color: #DD0000">"Image processing took more than 5 seconds"</span><span style="color: #007700">;<br />                    return </span><span style="color: #0000BB">false</span><span style="color: #007700">;<br />                }<br />                if ((</span><span style="color: #0000BB">$offset </span><span style="color: #007700">% </span><span style="color: #0000BB">5</span><span style="color: #007700">) == </span><span style="color: #0000BB">0</span><span style="color: #007700">) {<br />                    echo </span><span style="color: #DD0000">"Progress: </span><span style="color: #0000BB">$offset</span><span style="color: #DD0000"> / </span><span style="color: #0000BB">$span</span><span style="color: #DD0000"> &lt;br/&gt;"</span><span style="color: #007700">;<br />                }<br />                return </span><span style="color: #0000BB">true</span><span style="color: #007700">;<br />            };<br /><br />            </span><span style="color: #0000BB">$imagick</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">setProgressMonitor</span><span style="color: #007700">(</span><span style="color: #0000BB">$callback</span><span style="color: #007700">);<br /><br />            </span><span style="color: #0000BB">$imagick</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">waveImage</span><span style="color: #007700">(</span><span style="color: #0000BB">2</span><span style="color: #007700">, </span><span style="color: #0000BB">15</span><span style="color: #007700">);<br /><br />            echo </span><span style="color: #DD0000">"Data len is: "</span><span style="color: #007700">.</span><span style="color: #0000BB">strlen</span><span style="color: #007700">(</span><span style="color: #0000BB">$imagick</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getImageBlob</span><span style="color: #007700">());<br />        }<br />        catch(</span><span style="color: #0000BB">\ImagickException $e</span><span style="color: #007700">) {<br />            if (</span><span style="color: #0000BB">$abortReason </span><span style="color: #007700">!= </span><span style="color: #0000BB">null</span><span style="color: #007700">) {<br />                echo </span><span style="color: #DD0000">"Image processing was aborted: "</span><span style="color: #007700">.</span><span style="color: #0000BB">$abortReason</span><span style="color: #007700">.</span><span style="color: #DD0000">"&lt;br/&gt;"</span><span style="color: #007700">;<br />            }<br />            else {<br />                echo </span><span style="color: #DD0000">"ImagickException caught: "</span><span style="color: #007700">.</span><span style="color: #0000BB">$e</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getMessage</span><span style="color: #007700">().</span><span style="color: #DD0000">" Exception type is "</span><span style="color: #007700">.</span><span style="color: #0000BB">get_class</span><span style="color: #007700">(</span><span style="color: #0000BB">$e</span><span style="color: #007700">);<br />            }<br />        }<br /><br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
      </div>

    </div>
  </p>
 </div>


</div><?php manual_footer($setup); ?>