Position actuelle: Accueil> Derniers articles> Comment utiliser ImagePaletTeTecopy avec une fonction ImageCreate? Partager des exemples pratiques

Comment utiliser ImagePaletTeTecopy avec une fonction ImageCreate? Partager des exemples pratiques

gitbox 2025-08-21
<span><span><span class="hljs-meta">&lt;?php</span></span><span>
<span class="hljs-comment">/*
Cet exemple d&#39;article expliquera comment imagepalettecopy et imagecreate Utiliser des fonctions en combinaison,
并通过实例代码展示其Scénarios d&#39;applicationet技巧。
*/</span>
</span><span><span class="hljs-meta">?&gt;</span></span><span>

----------------------------------------

</span><span><span class="hljs-comment"># Comment imagepalettecopy et imagecreate Utiliser des fonctions en combinaison?Partager des exemples pratiques</span></span><span>


</span><span><span class="hljs-comment">## un、`imagecreate` et `imagepalettecopy` Introduction</span></span><span>

- **`</span><span><span class="hljs-title function_ invoke__">imagecreate</span></span><span>(</span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$width</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$height</span></span><span>)`**  
  用于创建un个基于调色板的图像(INDEX IMAGE COULEUR),Convient pour le traitement des images avec un nombre de couleurs limité。  
  返回值是un个图像资源句柄。

- **`</span><span><span class="hljs-title function_ invoke__">imagepalettecopy</span></span><span>(resource </span><span><span class="hljs-variable">$dst</span></span><span>, resource </span><span><span class="hljs-variable">$src</span></span><span>)`**  

</span><span><span class="hljs-comment">## deux、Scénarios d&#39;application</span></span><span>

</span><span><span class="hljs-number">1</span></span><span>. **Génération en vrac de miniatures du même style**  

</span><span><span class="hljs-number">2</span></span><span>. **Synchronisation de la palette des images indexées**  
   Si plusieurs images indexées doivent être fusionnées ou comparées les couleurs plus tard,调色板保持un致非常重要。

</span><span><span class="hljs-comment">## trois、Exemple de code</span></span><span>


```php
</span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// Créer une image source(Couleur d&#39;index)</span></span><span>
</span><span><span class="hljs-variable">$src</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecreate</span></span><span>(</span><span><span class="hljs-number">200</span></span><span>, </span><span><span class="hljs-number">200</span></span><span>);
</span><span><span class="hljs-variable">$red</span></span><span>   = </span><span><span class="hljs-title function_ invoke__">imagecolorallocate</span></span><span>(</span><span><span class="hljs-variable">$src</span></span><span>, </span><span><span class="hljs-number">255</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>);
</span><span><span class="hljs-variable">$green</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecolorallocate</span></span><span>(</span><span><span class="hljs-variable">$src</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-number">255</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>);
</span><span><span class="hljs-variable">$blue</span></span><span>  = </span><span><span class="hljs-title function_ invoke__">imagecolorallocate</span></span><span>(</span><span><span class="hljs-variable">$src</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-number">255</span></span><span>);

</span><span><span class="hljs-comment">// Remplissez l&#39;arrière-plan de rouge</span></span><span>
</span><span><span class="hljs-title function_ invoke__">imagefill</span></span><span>(</span><span><span class="hljs-variable">$src</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-variable">$red</span></span><span>);

</span><span><span class="hljs-comment">// Créer une image cible(Couleur d&#39;index)</span></span><span>
</span><span><span class="hljs-variable">$dst</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecreate</span></span><span>(</span><span><span class="hljs-number">200</span></span><span>, </span><span><span class="hljs-number">200</span></span><span>);

</span><span><span class="hljs-title function_ invoke__">imagepalettecopy</span></span><span>(</span><span><span class="hljs-variable">$dst</span></span><span>, </span><span><span class="hljs-variable">$src</span></span><span>);

</span><span><span class="hljs-title function_ invoke__">imagefill</span></span><span>(</span><span><span class="hljs-variable">$dst</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-variable">$blue</span></span><span>);

</span><span><span class="hljs-comment">// Sortir des images pour la comparaison</span></span><span>
</span><span><span class="hljs-title function_ invoke__">header</span></span><span>(</span><span><span class="hljs-string">"Content-Type: image/png"</span></span><span>);

</span><span><span class="hljs-comment">// Seule l&#39;image cible est sortie ici,Vous pouvez enregistrer deux images au besoin pour afficher</span></span><span>
</span><span><span class="hljs-title function_ invoke__">imagepng</span></span><span>(</span><span><span class="hljs-variable">$dst</span></span><span>);

</span><span><span class="hljs-comment">// Libérer les ressources</span></span><span>
</span><span><span class="hljs-title function_ invoke__">imagedestroy</span></span><span>(</span><span><span class="hljs-variable">$src</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">imagedestroy</span></span><span>(</span><span><span class="hljs-variable">$dst</span></span><span>);
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

4. Résumé

Grâce à la combinaison d' imageRecere et d'imagePaletTeTecopy , nous pouvons facilement partager la même palette de couleurs parmi plusieurs images d'index, en évitant le travail en double de l'attribution manuelle de la même couleur. Cette méthode est très pratique dans des scénarios tels que le traitement par lots, la synchronisation des palettes de couleurs et le maintien de l'uniformité visuelle. La maîtrise de l'utilisation de ces fonctions nous aidera à gérer plus efficacement les données des couleurs dans les projets de traitement d'image PHP.

 <span></span>