Aktueller Standort: Startseite> Neueste Artikel> Wie benutze ich ImagePalettecopy mit Imagecrate -Funktion? Praktische Beispiele teilen

Wie benutze ich ImagePalettecopy mit Imagecrate -Funktion? Praktische Beispiele teilen

gitbox 2025-08-21
<span><span><span class="hljs-meta">&lt;?php</span></span><span>
<span class="hljs-comment">/*
In diesem Beispiel -Artikel erklärt imagepalettecopy Und imagecreate Verwenden Sie Funktionen in Kombination,
并通过实例代码展示其AnwendungsszenarienUnd技巧。
*/</span>
</span><span><span class="hljs-meta">?&gt;</span></span><span>

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

</span><span><span class="hljs-comment"># Wie zu imagepalettecopy Und imagecreate Verwenden Sie Funktionen in Kombination?Praktische Beispiele teilen</span></span><span>


</span><span><span class="hljs-comment">## eins、`imagecreate` Und `imagepalettecopy` Einführung</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>)`**  
  用于创建eins个基于调色板的图像(Index -Farbbild),Geeignet für die Verarbeitung von Bildern mit begrenzter Farbzahl。  
  返回值是eins个图像资源句柄。

- **`</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">## zwei、Anwendungsszenarien</span></span><span>

</span><span><span class="hljs-number">1</span></span><span>. **Massenerzeugung von Miniaturansichten im gleichen Stil**  

</span><span><span class="hljs-number">2</span></span><span>. **Palettensynchronisation indizierter Bilder**  
   Wenn mehrere indizierte Bilder später verschmolzen oder verglichen werden müssen,调色板保持eins致非常重要。

</span><span><span class="hljs-comment">## drei、Codebeispiel</span></span><span>


```php
</span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// Quellbild erstellen(Indexfarbe)</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">// Füllen Sie den Hintergrund mit Rot aus</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">// Erstellen Sie ein Zielbild(Indexfarbe)</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">// Ausgabe Bilder zum Vergleich</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">// Hier wird nur das Zielbild ausgegeben,Sie können nach Bedarf zwei Bilder speichern, um sie anzeigen</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">// Ressourcen frei machen</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. Zusammenfassung

Durch die Kombination von Imagecrate und ImagePalettecopy können wir leicht die gleiche Farbpalette zwischen mehreren Indexbildern teilen, wodurch die doppelte Arbeit der manuellen Zuordnung derselben Farbe vermieden wird. Diese Methode ist in Szenarien wie Batch -Verarbeitung, Farbpalette -Synchronisation und Aufrechterhaltung der visuellen Gleichmäßigkeit sehr praktisch. Durch die Beherrschung der Nutzung dieser Funktionen können wir Farbdaten in PHP -Image -Verarbeitungsprojekten effizienter verwalten.

 <span></span>