<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/ref.image.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'pt_BR',
  ),
  'this' => 
  array (
    0 => 'function.imagecopyresampled.php',
    1 => 'imagecopyresampled',
    2 => 'Copia e redimensiona parte de uma imagem com reamostragem',
  ),
  'up' => 
  array (
    0 => 'ref.image.php',
    1 => 'Fun&ccedil;&otilde;es de GD e Image',
  ),
  'prev' => 
  array (
    0 => 'function.imagecopymergegray.php',
    1 => 'imagecopymergegray',
  ),
  'next' => 
  array (
    0 => 'function.imagecopyresized.php',
    1 => 'imagecopyresized',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'pt_BR',
    'path' => 'reference/image/functions/imagecopyresampled.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="function.imagecopyresampled" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">imagecopyresampled</h1>
  <p class="verinfo">(PHP 4 &gt;= 4.0.6, PHP 5, PHP 7, PHP 8)</p><p class="refpurpose"><span class="refname">imagecopyresampled</span> &mdash; <span class="dc-title">Copia e redimensiona parte de uma imagem com reamostragem</span></p>

 </div>
 <div class="refsect1 description" id="refsect1-function.imagecopyresampled-description">
  <h3 class="title">Descrição</h3>
  <div class="methodsynopsis dc-description">
   <span class="methodname"><strong>imagecopyresampled</strong></span>(<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="class.gdimage.php" class="type GdImage">GdImage</a></span> <code class="parameter">$dst_image</code></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="class.gdimage.php" class="type GdImage">GdImage</a></span> <code class="parameter">$src_image</code></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$dst_x</code></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$dst_y</code></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$src_x</code></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$src_y</code></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$dst_width</code></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$dst_height</code></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$src_width</code></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$src_height</code></span><br>): <span class="type"><a href="language.types.singleton.php" class="type true">true</a></span></div>

  <p class="para rdfs-comment">
   <span class="function"><strong>imagecopyresampled()</strong></span> copia uma porção
   retangular de uma imagem em outra imagem, suavemente interpolando valores
   de pixels de forma que, em particular, a redução do tamanho de uma imagem ainda
   retenha bastante clareza.
  </p>
  <p class="para">
   Em outras palavras, <span class="function"><strong>imagecopyresampled()</strong></span> pegará
   uma área retangular de <code class="parameter">src_image</code>, de largura
   <code class="parameter">src_width</code> e altura <code class="parameter">src_height</code> na
   posição (<code class="parameter">src_x</code>,<code class="parameter">src_y</code>),
   e posicionará esta área em uma outra área retangular de <code class="parameter">dst_image</code>,
   de largura <code class="parameter">dst_width</code> e altura <code class="parameter">dst_height</code>,
   na posição (<code class="parameter">dst_x</code>,<code class="parameter">dst_y</code>).
  </p>
  <p class="para">
   Se as coordenadas de origem e destino e larguras e alturas
   forem diferentes, um alongamento ou um encolhimento apropriado do fragmento da imagem
   será realizado. As coordenadas se referem ao canto superior
   esquerdo. Esta função pode ser usada para copiar regiões dentro da
   mesma imagem (se <code class="parameter">dst_image</code> for igual a
   <code class="parameter">src_image</code>) mas se as regiões se sobrepuserem, os
   resultados serão imprevisíveis.
  </p>
 </div>

 <div class="refsect1 parameters" id="refsect1-function.imagecopyresampled-parameters">
  <h3 class="title">Parâmetros</h3>
  <p class="para">
   <dl>
    
     <dt><code class="parameter">dst_image</code></dt>
     <dd>
      <p class="para">Recurso da imagem de destino.</p>
     </dd>
    
    
     <dt><code class="parameter">src_image</code></dt>
     <dd>
      <p class="para">Recurso da imagem de origem.</p>
     </dd>
    
    
     <dt><code class="parameter">dst_x</code></dt>
     <dd>
      <p class="para">
       Coordenada x do ponto de destino.
      </p>
     </dd>
    
    
     <dt><code class="parameter">dst_y</code></dt>
     <dd>
      <p class="para">
       Coordenada y do ponto de destino.
      </p>
     </dd>
    
    
     <dt><code class="parameter">src_x</code></dt>
     <dd>
      <p class="para">
       Coordenada x do ponto de origem.
      </p>
     </dd>
    
    
     <dt><code class="parameter">src_y</code></dt>
     <dd>
      <p class="para">
       Coordenada y do ponto de origem.
      </p>
     </dd>
    
    
     <dt><code class="parameter">dst_width</code></dt>
     <dd>
      <p class="para">
       Largura do destino.
      </p>
     </dd>
    
    
     <dt><code class="parameter">dst_height</code></dt>
     <dd>
      <p class="para">
       Altura do destino.
      </p>
     </dd>
    
    
     <dt><code class="parameter">src_width</code></dt>
     <dd>
      <p class="para">Largura da imagem de origem.</p>
     </dd>
    
    
     <dt><code class="parameter">src_height</code></dt>
     <dd>
      <p class="para">Altura da imagem de origem.</p>
     </dd>
    
   </dl>
  </p>
 </div>

 <div class="refsect1 returnvalues" id="refsect1-function.imagecopyresampled-returnvalues">
  <h3 class="title">Valor Retornado</h3>
  <p class="para">
   Sempre retorna <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong>.
  </p>
 </div>


 <div class="refsect1 changelog" id="refsect1-function.imagecopyresampled-changelog">
  <h3 class="title">Registro de Alterações</h3>
  <table class="doctable informaltable">
   
    <thead>
     <tr>
      <th>Versão</th>
      <th>Descrição</th>
     </tr>

    </thead>

    <tbody class="tbody">
     <tr>
      <td>8.0.0</td>
      <td>
       <code class="parameter">dst_image</code> e <code class="parameter">src_image</code> esperam
       instâncias <span class="classname"><a href="class.gdimage.php" class="classname">GdImage</a></span> agora; anteriormente, <span class="type"><a href="language.types.resource.php" class="type resource">resource</a></span>s
       eram esperadas.
      </td>
     </tr>

    </tbody>
   
  </table>

 </div>


 <div class="refsect1 examples" id="refsect1-function.imagecopyresampled-examples">
  <h3 class="title">Exemplos</h3>
  <p class="para">
   <div class="example" id="example-1">
    <p><strong>Exemplo #1 Exemplo simples</strong></p>
    <div class="example-contents"><p>
     Este exemplo irá reamostrar uma imagem para metade de seu tamanho original.
    </p></div>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #FF8000">// O arquivo<br /></span><span style="color: #0000BB">$filename </span><span style="color: #007700">= </span><span style="color: #DD0000">'test.jpg'</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$percent </span><span style="color: #007700">= </span><span style="color: #0000BB">0.5</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">// Tipo de conteúdo<br /></span><span style="color: #0000BB">header</span><span style="color: #007700">(</span><span style="color: #DD0000">'Content-Type: image/jpeg'</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">// Obtém novas dimensões<br /></span><span style="color: #007700">list(</span><span style="color: #0000BB">$width</span><span style="color: #007700">, </span><span style="color: #0000BB">$height</span><span style="color: #007700">) = </span><span style="color: #0000BB">getimagesize</span><span style="color: #007700">(</span><span style="color: #0000BB">$filename</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$new_width </span><span style="color: #007700">= </span><span style="color: #0000BB">$width </span><span style="color: #007700">* </span><span style="color: #0000BB">$percent</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$new_height </span><span style="color: #007700">= </span><span style="color: #0000BB">$height </span><span style="color: #007700">* </span><span style="color: #0000BB">$percent</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">// Reamostra<br /></span><span style="color: #0000BB">$image_p </span><span style="color: #007700">= </span><span style="color: #0000BB">imagecreatetruecolor</span><span style="color: #007700">(</span><span style="color: #0000BB">$new_width</span><span style="color: #007700">, </span><span style="color: #0000BB">$new_height</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$image </span><span style="color: #007700">= </span><span style="color: #0000BB">imagecreatefromjpeg</span><span style="color: #007700">(</span><span style="color: #0000BB">$filename</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">imagecopyresampled</span><span style="color: #007700">(</span><span style="color: #0000BB">$image_p</span><span style="color: #007700">, </span><span style="color: #0000BB">$image</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">$new_width</span><span style="color: #007700">, </span><span style="color: #0000BB">$new_height</span><span style="color: #007700">, </span><span style="color: #0000BB">$width</span><span style="color: #007700">, </span><span style="color: #0000BB">$height</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">// Mostra<br /></span><span style="color: #0000BB">imagejpeg</span><span style="color: #007700">(</span><span style="color: #0000BB">$image_p</span><span style="color: #007700">, </span><span style="color: #0000BB">null</span><span style="color: #007700">, </span><span style="color: #0000BB">100</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

    <div class="example-contents"><p>O exemplo acima produzirá
algo semelhante a:</p></div>
    <div class="mediaobject">
     
     <div class="imageobject">
      <img src="images/21009b70229598c6a80eef8b45bf282b-imagecopyresampled.jpg" alt="Saída do exemplo: Exemplo simples" width="47" height="25" />
     </div>
    </div>
   </div>
  </p>
  <p class="para">
   <div class="example" id="example-2">
    <p><strong>Exemplo #2 Reamostrando uma imagem proporcionalmente</strong></p>
    <div class="example-contents"><p>
     Este exemplo irá mostrar uma imagem com a largura e
     altura máximas de 200 pixels.
    </p></div>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #FF8000">// O arquivo<br /></span><span style="color: #0000BB">$filename </span><span style="color: #007700">= </span><span style="color: #DD0000">'test.jpg'</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">// Define altura e largura máximas<br /></span><span style="color: #0000BB">$width </span><span style="color: #007700">= </span><span style="color: #0000BB">200</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$height </span><span style="color: #007700">= </span><span style="color: #0000BB">200</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">// Tipo de conteúdo<br /></span><span style="color: #0000BB">header</span><span style="color: #007700">(</span><span style="color: #DD0000">'Content-Type: image/jpeg'</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">// Obtém novas dimensões<br /></span><span style="color: #007700">list(</span><span style="color: #0000BB">$width_orig</span><span style="color: #007700">, </span><span style="color: #0000BB">$height_orig</span><span style="color: #007700">) = </span><span style="color: #0000BB">getimagesize</span><span style="color: #007700">(</span><span style="color: #0000BB">$filename</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$ratio_orig </span><span style="color: #007700">= </span><span style="color: #0000BB">$width_orig</span><span style="color: #007700">/</span><span style="color: #0000BB">$height_orig</span><span style="color: #007700">;<br /><br />if (</span><span style="color: #0000BB">$width</span><span style="color: #007700">/</span><span style="color: #0000BB">$height </span><span style="color: #007700">&gt; </span><span style="color: #0000BB">$ratio_orig</span><span style="color: #007700">) {<br />   </span><span style="color: #0000BB">$width </span><span style="color: #007700">= </span><span style="color: #0000BB">$height</span><span style="color: #007700">*</span><span style="color: #0000BB">$ratio_orig</span><span style="color: #007700">;<br />} else {<br />   </span><span style="color: #0000BB">$height </span><span style="color: #007700">= </span><span style="color: #0000BB">$width</span><span style="color: #007700">/</span><span style="color: #0000BB">$ratio_orig</span><span style="color: #007700">;<br />}<br /><br /></span><span style="color: #FF8000">// Reamostra<br /></span><span style="color: #0000BB">$image_p </span><span style="color: #007700">= </span><span style="color: #0000BB">imagecreatetruecolor</span><span style="color: #007700">(</span><span style="color: #0000BB">$width</span><span style="color: #007700">, </span><span style="color: #0000BB">$height</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$image </span><span style="color: #007700">= </span><span style="color: #0000BB">imagecreatefromjpeg</span><span style="color: #007700">(</span><span style="color: #0000BB">$filename</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">imagecopyresampled</span><span style="color: #007700">(</span><span style="color: #0000BB">$image_p</span><span style="color: #007700">, </span><span style="color: #0000BB">$image</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">$width</span><span style="color: #007700">, </span><span style="color: #0000BB">$height</span><span style="color: #007700">, </span><span style="color: #0000BB">$width_orig</span><span style="color: #007700">, </span><span style="color: #0000BB">$height_orig</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">// Mostra<br /></span><span style="color: #0000BB">imagejpeg</span><span style="color: #007700">(</span><span style="color: #0000BB">$image_p</span><span style="color: #007700">, </span><span style="color: #0000BB">null</span><span style="color: #007700">, </span><span style="color: #0000BB">100</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

    <div class="example-contents"><p>O exemplo acima produzirá
algo semelhante a:</p></div>
    <div class="mediaobject">
     
     <div class="imageobject">
      <img src="images/21009b70229598c6a80eef8b45bf282b-imagecopyresampled_2.jpg" alt="Saída do exemplo: Reamostrando uma imagem proporcionalmente" width="200" height="107" />
     </div>
    </div>
   </div>
  </p>
 </div>

 <div class="refsect1 notes" id="refsect1-function.imagecopyresampled-notes">
  <h3 class="title">Notas</h3>
  <blockquote class="note"><p><strong class="note">Nota</strong>: 
   <p class="para">
    Existe um problema devido a limitações de imagem de paleta (255+1 cores).
    A reamostragem ou a filtragem de uma imagem normalmente precisa de mais cores que 255, um
    tipo de aproximação é usada para calculara o novo pixel reamostrado e sua
    cor. Com imagem de paleta tenta-se alocar uma nova cor, se isso
    falhar, escolhe-se a cor computada mais próxima (em teoria). Isto nem
    sempre é a cor mais próxima visualmente. Isto pode produzir um resultado estranho, tal
    como imagem vazia (ou visualmente vazia). Para evitar esse problema, favor utilizar uma
    imagem em cores verdadeiras como imagem de destino, tal como a criada por
    <span class="function"><a href="function.imagecreatetruecolor.php" class="function">imagecreatetruecolor()</a></span>.
   </p>
  </p></blockquote>
 </div>


 <div class="refsect1 seealso" id="refsect1-function.imagecopyresampled-seealso">
  <h3 class="title">Veja Também</h3>
  <ul class="simplelist">
   <li><span class="function"><a href="function.imagecopyresized.php" class="function" rel="rdfs-seeAlso">imagecopyresized()</a> - Copia e redimensiona parte de uma imagem</span></li>
   <li><span class="function"><a href="function.imagescale.php" class="function" rel="rdfs-seeAlso">imagescale()</a> - Muda a escala de uma imagem usando largura e altura informadas</span></li>
   <li><span class="function"><a href="function.imagecrop.php" class="function" rel="rdfs-seeAlso">imagecrop()</a> - Recorta uma imagem no ret&acirc;ngulo informado</span></li>
  </ul>
 </div>

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