In PHP ist die Verarbeitung von Bildern eine gemeinsame Aufgabe. Verwenden der Imagerotat -Funktion in der GD -Bibliothek können Sie das Bild problemlos drehen. Diese Funktion ist sehr nützlich, insbesondere wenn die von den Benutzern hochgeladenen Bilder verarbeitet werden. Wenn Sie das Bild drehen und es im JPEG -Format ausgeben möchten, erklärt dieser Artikel ausführlich, wie es implementiert werden soll.
ImagePerotat ist eine Funktion der GD -Bibliothek in PHP, mit der Sie Bilder drehen können. Das gedrehte Bild basiert auf dem angegebenen Winkel und der leere Bereich kann mit einer angegebenen Hintergrundfarbe gefüllt werden.
<span><span><span class="hljs-title function_ invoke__">imagerotate</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-variable">$angle</span></span><span>, </span><span><span class="hljs-variable">$bgColor</span></span><span>);
</span></span>
$ image : Eine Bildressource, die normalerweise von ImagecreateFrom ... Serienfunktionen erstellt wurde (wie z. B. ImagecreateFromjpeg , ImagecreateFrommpng usw.).
$ Angle : Der Drehwinkel ist das Gerät in Grad. Positive Werte geben im Uhrzeigersinn an, und negative Werte zeigen gegen den Uhrzeigersinn an.
$ bgcolor : Die Hintergrundfarbe des gedrehten leeren Bereichs, in der Regel die Farbressource, die durch die Funktion "ImageColorallocation" erstellt wurde.
Als nächstes werden wir die spezifischen Schritte zum Drehen und Speichern des Bildes in JPEG -Format durch PHP demonstrieren. Angenommen, wir möchten eine Bilddatei mit dem Namen example.jpg verarbeiten.
Zunächst müssen wir das Bild laden, das gedreht werden muss. Hier verwenden wir die ImagecreateFromjpeg -Funktion, um Bilder im JPEG -Format zu laden.
<span><span><span class="hljs-variable">$image</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecreatefromjpeg</span></span><span>(</span><span><span class="hljs-string">'example.jpg'</span></span><span>);
</span></span>
Als nächstes drehen wir das Bild über Imagators . Angenommen, wir möchten, dass das Bild im Uhrzeigersinn um 90 Grad dreht und die Hintergrundfarbe weiß ist.
<span><span><span class="hljs-variable">$rotatedImage</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagerotate</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-number">90</span></span><span>, </span><span><span class="hljs-number">0xFFFFFF</span></span><span>); </span><span><span class="hljs-comment">// Weißer Hintergrund</span></span><span>
</span></span>
Hier geben wir den Rotationswinkel von 90 Grad an und die Hintergrundfarbe ist weiß ( 0xffffff repräsentiert den hexadezimalen Wert von Weiß).
Nach Abschluss der Rotation geben wir das Bild in das JPEG -Format aus. Um die Bildqualität aufrechtzuerhalten, können wir die Komprimierungsqualität angeben (eine Ganzzahl zwischen 0 und 100, 100 bedeutet keine Komprimierung).
<span><span><span class="hljs-title function_ invoke__">imagejpeg</span></span><span>(</span><span><span class="hljs-variable">$rotatedImage</span></span><span>, </span><span><span class="hljs-string">'rotated_example.jpg'</span></span><span>, </span><span><span class="hljs-number">90</span></span><span>); </span><span><span class="hljs-comment">// 90 Für die Ausgangsqualität</span></span><span>
</span></span>
Vergessen Sie nicht, die Bildressourcen zu bereinigen, die wir im Speicher aufnehmen.
<span><span><span class="hljs-title function_ invoke__">imagedestroy</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">imagedestroy</span></span><span>(</span><span><span class="hljs-variable">$rotatedImage</span></span><span>);
</span></span>
Integrieren Sie den obigen Code in ein vollständiges PHP -Skript. Das Beispiel lautet wie folgt:
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// Laden des Bildes</span></span><span>
</span><span><span class="hljs-variable">$image</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecreatefromjpeg</span></span><span>(</span><span><span class="hljs-string">'example.jpg'</span></span><span>);
</span><span><span class="hljs-comment">// Drehen Sie das Bild 90 Grad,Hintergrundfarbe ist weiß</span></span><span>
</span><span><span class="hljs-variable">$rotatedImage</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagerotate</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-number">90</span></span><span>, </span><span><span class="hljs-number">0xFFFFFF</span></span><span>);
</span><span><span class="hljs-comment">// Das Ausgangsbild ist JPEG Format,Qualität ist 90</span></span><span>
</span><span><span class="hljs-title function_ invoke__">imagejpeg</span></span><span>(</span><span><span class="hljs-variable">$rotatedImage</span></span><span>, </span><span><span class="hljs-string">'rotated_example.jpg'</span></span><span>, </span><span><span class="hljs-number">90</span></span><span>);
</span><span><span class="hljs-comment">// Bildressourcen beseitigen</span></span><span>
</span><span><span class="hljs-title function_ invoke__">imagedestroy</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">imagedestroy</span></span><span>(</span><span><span class="hljs-variable">$rotatedImage</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Das Bild dreht sich und wurde als gespeichert als rotated_example.jpg"</span></span><span>;
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
Drehwinkel : Der Drehwinkel muss ein Grad sein. Beispielsweise dürfen 90 Grad das Bild im Uhrzeigersinn um eine Viertelwendung drehen, 180 Grad dürfen eine halbe Runde drehen und -90 Grad dürfen sich gegen den Uhrzeigersinn drehen.
Hintergrundfarbe : Wenn das gedrehte Bild transparente Bereiche erzeugt, füllt das Imagerotat diese Bereiche mit der angegebenen Hintergrundfarbe. Sie können jede Farbe durch die ImageColoralLocate -Funktion definieren.
Bildtyp : Obwohl das JPEG -Format in diesem Beispiel verwendet wird, können Sie auch Funktionen wie ImagecreateFrommpng oder ImagecreateFromgif verwenden, um Bilder in anderen Formaten zu verarbeiten. Die Rotationsoperation selbst ist unabhängig vom Bildformat.
Durch die Verwendung von PHP -Imagerotat -Funktion kann die Bilder leicht gedreht werden, und die gedrehten Bilder können mit einfachem Code im JPEG -Format gespeichert werden. Wenn Sie die Funktionen anderer GD -Bibliotheken kombinieren, können Sie komplexere Bildverarbeitungsvorgänge implementieren. Hoffentlich helfen die Beispiele in diesem Artikel, die Bildrotation in Ihrem Projekt effektiv zu verarbeiten.