Aktueller Standort: Startseite> Neueste Artikel> Wie benutze ich zusammen im Bildungsabschied und imageCopy zusammen? Richtige Demonstration der transparenten Synthese

Wie benutze ich zusammen im Bildungsabschied und imageCopy zusammen? Richtige Demonstration der transparenten Synthese

gitbox 2025-08-23
<span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// Artikel Titel:imagealphablending Und imagecopy Wie man es zusammen benutzt?Richtige Demonstration der transparenten Synthese</span></span><span>
</span><span><span class="hljs-meta">?&gt;</span></span><span>

---

existieren PHP Wenn Bildverarbeitung durchgeführt wird,`imagealphablending` Und `imagecopy` Dies sind zwei sehr häufig verwendete Funktionen,尤其是existieren涉及透明度合成Und图像合成的场景中。Verwenden Sie diese beiden Funktionen, indem Sie diese beiden Funktionen kombinieren,Kann die Bildsynthese mit transparentem Hintergrund realisieren,像是existieren海报制作、GIF Es ist sehr praktisch bei Synthese- und Wasserzeichen -Additionsvorgängen.。

</span><span><span class="hljs-comment">### 1. `imagealphablending` Funktion Einführung</span></span><span>

`imagealphablending` Es ist eine Funktion, die steuert, ob das Bild eingeschaltet ist.。它影响的是图像的透明度Und混合方式。Wenn der Hybridmodus eingeschaltet ist,Der transparente Teil des Bildes wird gemäß der Farbe des Hintergrundbildes synthetisiert。

</span><span><span class="hljs-comment">#### Funktionsprototyp:</span></span><span>
```php
</span><span><span class="hljs-keyword">bool</span></span><span> </span><span><span class="hljs-title function_ invoke__">imagealphablending</span></span><span>(resource </span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-keyword">bool</span></span><span> </span><span><span class="hljs-variable">$blendmode</span></span><span>);
</span></span>
  • $ image : Die Bildressource, auf der er betrieben werden muss.

  • $ mischmode : boolescher Wert, wahre Mittel, um den Mischmodus zu ermöglichen, falsche Mittel zum Ausschalten des Mischungsmodus.

Standardmäßig handelt es sich um eine Bildungsabteilung , um das Mischmodus zu aktivieren, was bedeutet, dass der transparente Teil der Pixel mit dem Hintergrundbild mischt.

2. Einführung in die ImageCopy -Funktion

Die ImageCopy -Funktion wird verwendet, um ein Bild an einen bestimmten Ort in einem anderen Bild zu kopieren. Es unterstützt das Kopieren von transparenten Pixeln, sodass es in Verbindung mit imageRalPhableing bei der Verarbeitung transparenter Bilds verwendet werden kann.

Funktionsprototyp:

 <span><span><span class="hljs-keyword">bool</span></span><span> </span><span><span class="hljs-title function_ invoke__">imagecopy</span></span><span>(resource </span><span><span class="hljs-variable">$dst_image</span></span><span>, resource </span><span><span class="hljs-variable">$src_image</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$dst_x</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$dst_y</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$src_x</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$src_y</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$src_width</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$src_height</span></span><span>);
</span></span>
  • $ dst_image : Zielbildressource.

  • $ src_image : Quellbildressource.

  • $ dst_x , $ dst_y : Die Position in der oberen linken Ecke des Zielbildes.

  • $ src_x , $ src_y : Die Position in der oberen linken Ecke des Quellbildes.

  • $ src_width , $ src_height : Die Breite und Höhe des Bereichs, der aus dem Quellbild kopiert werden soll.

3.. Die korrekte Art, transparente Bilder zu synthetisieren

Bei der Durchführung der transparenten Bildsynthese ist es am wichtigsten, dass sowohl die Quell- als auch die Zielbilder die Transparenz korrekt verarbeiten. Hier finden Sie eine korrekte Demonstration der transparenten Synthese, die Bildungsabschied und ImageCopy kombiniert.

Beispielcode:

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// 创建目标图像Und源图像资源</span></span><span>
</span><span><span class="hljs-variable">$dst_image</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecreatetruecolor</span></span><span>(</span><span><span class="hljs-number">500</span></span><span>, </span><span><span class="hljs-number">500</span></span><span>);
</span><span><span class="hljs-variable">$src_image</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecreatefrompng</span></span><span>(</span><span><span class="hljs-string">'source_image.png'</span></span><span>); </span><span><span class="hljs-comment">// Angenommen, das Quellbild ist a PNG Format</span></span><span>

</span><span><span class="hljs-comment">// Legen Sie transparenten Hintergrund für das Zielbild fest</span></span><span>
</span><span><span class="hljs-title function_ invoke__">imagesavealpha</span></span><span>(</span><span><span class="hljs-variable">$dst_image</span></span><span>, </span><span><span class="hljs-literal">true</span></span><span>);
</span><span><span class="hljs-variable">$transparent</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecolorallocatealpha</span></span><span>(</span><span><span class="hljs-variable">$dst_image</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">0</span></span><span>, </span><span><span class="hljs-number">127</span></span><span>); </span><span><span class="hljs-comment">// Transparente Farbe</span></span><span>
</span><span><span class="hljs-title function_ invoke__">imagefill</span></span><span>(</span><span><span class="hljs-variable">$dst_image</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">$transparent</span></span><span>);

</span><span><span class="hljs-comment">// Schalten Sie den transparenten Hybridmodus ein</span></span><span>
</span><span><span class="hljs-title function_ invoke__">imagealphablending</span></span><span>(</span><span><span class="hljs-variable">$dst_image</span></span><span>, </span><span><span class="hljs-literal">true</span></span><span>);

</span><span><span class="hljs-title function_ invoke__">imagecopy</span></span><span>(</span><span><span class="hljs-variable">$dst_image</span></span><span>, </span><span><span class="hljs-variable">$src_image</span></span><span>, </span><span><span class="hljs-number">100</span></span><span>, </span><span><span class="hljs-number">100</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-title function_ invoke__">imagesx</span></span><span>(</span><span><span class="hljs-variable">$src_image</span></span><span>), </span><span><span class="hljs-title function_ invoke__">imagesy</span></span><span>(</span><span><span class="hljs-variable">$src_image</span></span><span>));

</span><span><span class="hljs-comment">// Das synthetisierte Bild ausgeben</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-title function_ invoke__">imagepng</span></span><span>(</span><span><span class="hljs-variable">$dst_image</span></span><span>);

</span><span><span class="hljs-comment">// Ressourcen aufräumen</span></span><span>
</span><span><span class="hljs-title function_ invoke__">imagedestroy</span></span><span>(</span><span><span class="hljs-variable">$dst_image</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">imagedestroy</span></span><span>(</span><span><span class="hljs-variable">$src_image</span></span><span>);
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

4. Code -Interpretation

  1. Erstellen Sie ein Zielbild :

    • Verwenden Sie ImagecrreatTueColor (), um eine Zielbildressource von 500x500 zu erstellen.

  2. Quellenbild laden :

    • Verwenden Sie ImagecreateFrommpng () , um das Quellbild zu laden, und wir gehen davon aus, dass es sich um eine PNG -Datei handelt, da PNG transparente Hintergründe unterstützt.

  3. Setzen Sie transparenten Hintergrund :

    • ImagesAvealpha () fordert PHP an, die Transparenzinformationen des Bildes zu speichern.

    • ImageColorallocatealpha () weist eine transparente Farbe zu und füllt das gesamte Zielbild mit ImageFill (), um sicherzustellen, dass das Zielbild transparent ist.

  4. Schalten Sie den transparenten Hybridmodus ein :

    • Verwenden Sie ImageArPhableending ($ dst_image, true), um den Mischmodus der transparenten Synthese zu ermöglichen.

  5. Synthetisiertes Bild :

    • Verwenden Sie ImageCopy () , um das Quellbild in die angegebene Position des Zielbildes zu kopieren. Der Syntheseffekt wird die Transparenz des Quellbildes beibehalten.

  6. Ausgabebild :

    • Schließlich wird das synthetisierte Bild über ImagePng () ausgegeben.

  7. Ressourcen aufräumen :

    • Verwenden Sie ImagingStroy (), um Bildressourcen zu beseitigen, um Speicherlecks zu vermeiden.

5. Zusammenfassung

Die Kombination von Bildungsfunktionen und Imagebildfunktionen macht PHP bei der Handhabung der Bildsynthese durch Transparenz sehr effizient. Der Schlüssel besteht darin, sicherzustellen, dass das Zielbild die Transparenzinformationen korrekt verarbeiten und den transparenten Mischmodus während der Synthese einschalten kann, um sicherzustellen, dass die transparenten Teile des Quellbildes korrekt angezeigt werden können.

Durch rationales Unter Verwendung dieser beiden Funktionen können wir den Syntheseeffekt transparenter Bilder problemlos erreichen, die für verschiedene Bildbearbeitungsszenarien geeignet sind, die eine Transparenzverarbeitung erfordern.