Dynamische Bildverarbeitung – PHP (34)
Aug 08, 2016 am 09:23 AM1 Verwendung der GD-Bibliothek in PHP
PHP ist nicht nur auf die Generierung von HTML-Ausgaben beschr?nkt, sondern kann auch Bilddateien in verschiedenen Formaten erstellen und bearbeiten. PHP bietet einige integrierte Bildinformationsfunktionen. Sie k?nnen die GD-Funktionsbibliothek auch verwenden, um neue Bilder zu erstellen oder vorhandene Bilder zu verarbeiten. Derzeit unterstützt die GD2-Bibliothek die Formate JPEG, PNG und WBMP. Das GIF-Format wird jedoch nicht mehr unterstützt.
? JPEG ist der Name eines Komprimierungsstandards, der üblicherweise zum Speichern von Fotos oder Bildern mit satten Farben und Farbabstufungen verwendet wird. Dieses Format verwendet verlustbehaftete Komprimierung.
? PNG ist ein tragbares Webbild, das einen verlustfreien Komprimierungsstandard für Bilder verwendet.
? WBMP ist ein Dateiformat, das speziell für drahtlose Kommunikationsger?te entwickelt wurde. Aber es wurde nicht weit verbreitet verwendet.
2 Schritte zur Bildgenerierung
Das Erstellen eines Bildes in PHP sollte die 4 unten gezeigten Schritte abschlie?en:
1. Erstellen Sie ein Hintergrundbild (auch Leinwand genannt). Alle nachfolgenden Vorg?nge basieren auf diesem Hintergrundbild.
2. Zeichnen Sie einen Bildumriss oder geben Sie Text auf den Hintergrund ein.
3. Ausgabe der endgültigen Grafik
4. Ressourcen freigeben
<span><?<span>php </span><span>//</span><span> 創(chuàng)建背景圖像</span>$height = <span>200</span><span>; $width </span>= <span>200</span><span>; $im </span>= ImageCreateTrueColor($width, $height); <span>//</span><span>建立空白背景</span>$white = ImageColorAllocate ($im, <span>255</span>, <span>255</span>, <span>255</span>);<span>//</span><span>設(shè)置繪圖顏色</span>$blue = ImageColorAllocate ($im, <span>0</span>, <span>0</span>, <span>64</span><span>); imageFill($im, </span><span>0</span>, <span>0</span>, $blue);<span>//</span><span>繪制背景</span>imageLine($im, <span>0</span>, <span>0</span>, $width, $height, $white); <span>//</span><span>畫(huà)線</span>imageString($im, <span>4</span>, <span>50</span>, <span>150</span>, <span>'</span><span>Sales</span><span>'</span>, $white); <span>//</span><span>添加字串</span>header(<span>'</span><span>Content-type: image/png</span><span>'</span><span>); imagePng($im); </span><span>//</span><span>以PNG 格式將圖像輸出</span><span>imageDestroy($im); </span>?></span>
3 Canvas-Verwaltung
imagecreate – Erstellen Sie ein neues palettenbasiertes Bild
??resource imagecreate(intx_size, inty_size)
??Diese Funktion wird verwendet, um eine leere neue Leinwand zu erstellen. Der Parameter ist die Bildgr??e und die Einheit ist Pixel. Unterstützt 256 Farben.
??imagecreatetruecolor--Erstellen Sie ein neues Echtfarbenbild
??resource imagecreatetruecolor(intx_size, inty_size)
??Erstellen eine neue Truecolor-Bildleinwand, erfordert GD 2.0.1 oder h?her, kann nicht mit dem GIF-Dateiformat verwendet werden.
??imagedestroy – Ein Bild zerst?ren
??boolimagedestroy( Ressourcenbild )
??imagedestroy() Release und Image zugeh?riges Ged?chtnis.
Andere Funktionen
Ressource imagecreatefrompng( string filename )
Erstellen Sie ein neues Bild aus einer PNG-Datei oder URL
??resource imagecreatefromjpeg( string filename )
??Neues Bild aus einer JPEG-Datei oder URL erstellen
?? resources imagecreatefromgif( string filename
??Erstellen Sie ein Bild aus einer GIF-Datei oder URL
??resource imagecreatefromwbmp( string filename )
Aus einer WBMP-Datei oder URL ein neues Bild erstellen
??intimagesx( Ressourcenbild ) --- Bildbreite ermitteln
??ntimagesy( Ressourcenbild ) --- Ermitteln Sie die Bildh?he
4 Farbe festlegen
imagecolorallocate – Weisen Sie einem Bild eine Farbe zu
?? Syntax: intimagecolorallocate( resources image, intred, intgreen, intblue)
??imagecolorallocate() gibt einen Bezeichner zurück, der die Farbe aus den angegebenen RGB-Komponenten darstellt. Der Bildparameter ist
??Der Rückgabewert der Funktion imagecreatetruecolor() sind die roten, grünen und blauen Komponenten der erforderlichen Farbe. Diese Parameter sind ganze Zahlen von 0 bis 255 oder hexadezimal 0x00 bis 0xFF . ) muss aufgerufen werden, um jede Farbe zu erstellen, die in dem durch image dargestellten Bild verwendet wird.
5 generiert das Bild
imagegif-- Gibt das Bild aus in einen Browser oder eine Datei im GIF-Format
?? Syntax: boolimagegif(resource image [, string filename] )
??imagejpeg – als Ausgabebild im JPEG-Format in Browser oder Datei
?? Syntax: boolimagejpeg(resource image [, string filename [, intquality]] )
??imagepng-- Das Bild in a ausgeben Browser oder Datei im PNG-Format
?? Syntax: boolimagepng(resource image [, string filename] )
??imagewbmp – im WBMP-Format Ausgabebild an den Browser oder Datei
?? Syntax: boolimagewbmp(resource image [, string filename [, intforeground]] )
6 Draw Image
imagefill – Bereichsfüllung
?? Syntax: boolimagefill(resourceimage,intx,inty, intcolor)
??imagefill() führt Bereich aus Füllen Sie die Koordinaten x, y des Bildes mit Farbe (die obere linke Ecke des Bildes ist 0, 0) (dh Punkte mit derselben Farbe wie der x-, y-Punkt und benachbarte Punkte werden gefüllt).
??imagesetpixel – ein einzelnes Pixel zeichnen
?? Syntax: boolimagesetpixel( resources image, intx, inty, intcolor )
??imagesetpixel() Verwenden Sie Farbe, um einen Punkt im Bild an den x- und y-Koordinaten zu zeichnen (die obere linke Ecke des Bildes ist 0, 0).
??imageline – Ein Liniensegment zeichnen
?? Syntax: boolimageline( resources image, intx1, inty1, intx2, inty2, intcolor )
??imageline() verwendet Farbe, um im Bild ein Liniensegment von den Koordinaten x1, y1 bis x2, y2 zu zeichnen (die obere linke Ecke des Bildes ist 0, 0).
imagerectangle – ein Rechteck zeichnen
??Syntax: boolimagerectangle(resource image, intx1, inty1, intx2, inty2, intcol)
??imagerectangle() Zeichne ein Rechteck im Bildbild mit Col-Farbe, Die Koordinaten seiner oberen linken Ecke sind x1, y1 und die Koordinaten seiner unteren rechten Ecke sind x2, y2. Die Koordinaten der oberen linken Ecke des Bildes sind 0, 0.
??imagefilledrectangle – Zeichne ein Rechteck und fülle es
?? Syntax: boolimagefilledrectangle( resources image, intx1, inty1, intx2, inty2, intcolor )
??imagefilledrectangle() zeichnet ein mit Farbe gefülltes Rechteck. Die Koordinaten der oberen linken Ecke sind x1, y1 und die Koordinaten der unteren rechten Ecke sind x2, y2 ist die obere linke Ecke des Bildes.
imagepolygon – Zeichne ein Polygon
?? , intcolor)
??imagepolygon() Erstellt ein Polygon in einem Bild. Punkte ist ein PHP-Array, das die Koordinaten jedes Scheitelpunkts des Polygons enth?lt, d. h. Punkte[0] = x0, Punkte[1] = y0, Punkte[2] = x1, Punkte[3] = y1 usw . num_points ist die Gesamtzahl der Scheitelpunkte.
??imagefilledpolygon – Zeichne ein Polygon und fülle es
?? Syntax: boolimagefilledpolygon( Ressourcenbild, Array-Punkte, intnum_points, intcolor)
??imagefilledpolygon() Zeichnet ein gefülltes Polygon im Bild. Der Punkteparameter ist ein Array, das die x- und y-Koordinaten jedes Scheitelpunkts des Polygons der Reihe nach enth?lt. Der Parameter ?num_points“ ist die Gesamtzahl der Scheitelpunkte und muss gr??er als 3 sein.
imageellipse – Eine Ellipse zeichnen
?? Syntax: boolimageellipse( resources image, intcx, intcy, intw, inth, intcolor )
??imageellipse() Zeichnen Sie eine Ellipse mit den Mittelpunkten cx, cy (die obere linke Ecke des Bildes ist 0, 0) in dem durch image dargestellten Bild. w und h geben die Breite bzw. H?he der Ellipse an, und die Farbe der Ellipse wird durch Farbe angegeben.
??imagefilledellipse – eine Ellipse zeichnen und ausfüllen
??Syntax: boolimagefilledellipse( resources image, intcx, intcy, intw, inth, intcolor )
??imagefilledellipse() Zeichnen Sie eine Ellipse mit der Mitte auf cx, cy (die obere linke Ecke des Bildes ist 0, 0) in dem durch image dargestellten Bild. w und h geben die Breite bzw. H?he der Ellipse an. Die Ellipse ist mit Farbe gefüllt. Gibt TRUE zurück, wenn erfolgreich, FALSE, wenn fehlgeschlagen.
imagearc – elliptischen Bogen zeichnen
??boolimagearc( resources image, intcx, intcy, intw, inth, ints, inte, intcolor )
??imagearc() Zeichnen Sie einen elliptischen Bogen in das durch image dargestellte Bild mit cx, cy (die obere linke Ecke des Bildes ist 0, 0) als Mittelpunkt. w und h geben die Breite bzw. H?he der Ellipse an, und die Start- und Endpunkte werden in Winkeln mit den Parametern s und e angegeben. 0° liegt bei drei Uhr und wird im Uhrzeigersinn gezeichnet.
??imagefilledarc – Einen elliptischen Bogen zeichnen und ausfüllen
??boolimagefilledarc( resources image, intcx, intcy, intw, inth, ints, inte, intcolor , intstyle )
??imagefilledarc() Zeichnen Sie einen elliptischen Bogen mit cx, cy (die obere linke Ecke des Bildes ist 0, 0) in dem durch image dargestellten Bild. Gibt TRUE zurück, wenn erfolgreich, FALSE, wenn fehlgeschlagen. w und h geben die Breite bzw. H?he der Ellipse an, und die Parameter s und e geben die Start- und Endpunkte in Winkeln an. Der Stil kann das bitweise ODER (OR) der folgenden Werte sein: IMG_ARC_PIE, IMG_ARC_CHORD, IMG_ARC_NOFILL, IMG_ARC_EDGED. Unter diesen schlie?en sich IMG_ARC_PIE und IMG_ARC_CHORD gegenseitig aus; IMG_ARC_CHORD verbindet lediglich die Start- und Endpunkte mit einer geraden Linie, w?hrend IMG_ARC_PIE eine kreisf?rmige Grenze erzeugt (wenn beide verwendet werden, wird IMG_ARC_CHORD wirksam). IMG_ARC_NOFILL gibt an, dass der Bogen oder die Sehne nur einen Umriss und keine Füllung hat. IMG_ARC_EDGED gibt eine gerade Linie an, die den Start- und Endpunkt mit dem Mittelpunkt verbindet. In Verbindung mit IMG_ARC_NOFILL ist dies eine gute M?glichkeit, den Umriss des Kreisdiagramms zu zeichnen (ohne Füllung)
6 Zeichne den Bildtext ein
imagestring – zeichne eine Zeichenfolge horizontal
?? Syntax: boolimagestring( resources image, intfont, intx , inty, string s, intcol)
??imagestring() verwendet col color, um den String s in die x-, y-Koordinaten des durch image dargestellten Bildes zu zeichnen (dies ist die Koordinate des oberen). Linke Ecke der Zeichenfolge, das gesamte Bild Die obere linke Ecke ist 0,0). Wenn die Schriftart 1, 2, 3, 4 oder 5 ist, wird die integrierte Schriftart verwendet.
??imagestringup – eine Zeichenfolge vertikal zeichnen
??Syntax: boolimagestringup(resource image, intfont, intx, inty, string s, intcol)
??imagestring() verwendet col color, um die Zeichenfolge s vertikal zu den x- und y-Koordinaten des durch image dargestellten Bildes zu zeichnen (die obere linke Ecke des Bildes ist 0, 0). Wenn die Schriftart 1, 2, 3, 4 oder 5 ist, wird die integrierte Schriftart verwendet.
imagechar--水平地畫(huà)一個(gè)字符
??語(yǔ)法:boolimagechar( resource image, intfont, intx, inty, string c, intcolor )
??imagechar() 將字符串c的第一個(gè)字符畫(huà)在image指定的圖像中,其左上角位于x,y(圖像左上角為0, 0),顏色為color。如果font是1,2,3,4 或5,則使用內(nèi)置的字體(更大的數(shù)字對(duì)應(yīng)于更大的字體)。
??imagecharup--垂直地畫(huà)一個(gè)字符
??語(yǔ)法:boolimagecharup( resource image, intfont, intx, inty, string c, intcolor )
??imagecharup() 將字符c垂直地畫(huà)在image指定的圖像上,位于x,y(圖像左上角為0, 0),顏色為color。如果font為1,2,3,4 或5,則使用內(nèi)置的字體。
??imagettftext--用TrueType 字體向圖像寫(xiě)入文本
??語(yǔ)法:array imagettftext( resource image, float size, float angle, intx, inty, intcolor, string fontfile, string text )
例子:
<?<span>php $im</span>= imagecreate(<span>150</span>,<span>150</span>); <span>//</span><span>創(chuàng)建一個(gè)150*150的畫(huà)布</span>$bg= imagecolorallocate($im, <span>255</span>, <span>255</span>, <span>255</span><span>); </span><span>//</span><span>設(shè)置畫(huà)布的背景顏色為白色</span>$black = imagecolorallocate($im, <span>0</span>, <span>0</span>, <span>0</span>); <span>//</span><span>設(shè)置一個(gè)顏色變量為黑色</span>$<span>string</span>=<span>"</span><span>LAMPBrother</span><span>"</span>; <span>//</span><span>聲明一個(gè)用于在圖像中輸出的字符串</span>imageString($im, <span>3</span>, <span>28</span>, <span>70</span>, $<span>string</span><span>, $black); </span><span>//</span><span>水平將字符串$string輸出到圖像中</span>imageStringUp($im, <span>3</span>, <span>59</span>, <span>115</span>, $<span>string</span><span>, $black); </span><span>//</span><span>垂直由下而上輸出$string到圖像中</span><span>for</span>($i=<span>0</span>,$j=strlen($<span>string</span>); $i<strlen($<span>string</span>); $i++,$j--<span>){ </span><span>//</span><span>使用循環(huán)單個(gè)字符輸出到圖像中</span>imageChar($im, <span>3</span>, <span>10</span>*($i+<span>1</span>), <span>10</span>*($i+<span>2</span>), $<span>string</span><span>[$i], $black); </span><span>//</span><span>向下傾斜輸出每個(gè)字符</span>imageCharUp($im, <span>3</span>, <span>10</span>*($i+<span>1</span>), <span>10</span>*($j+<span>2</span>), $<span>string</span>[$i], $black); <span>//</span><span>向上傾斜輸出每個(gè)字符</span><span>} header(</span><span>'</span><span>Content-type: image/png</span><span>'</span>); <span>//</span><span>設(shè)置輸出的頭部標(biāo)識(shí)符</span>imagepng($im); <span>//</span><span>輸出PNG格式的圖片</span>?>
以上就介紹了動(dòng)態(tài)圖像處理 — php(34),包括了方面的內(nèi)容,希望對(duì)PHP教程有興趣的朋友有所幫助。

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?er Artikel

Hei?e Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Konvertieren Sie grundlegende Datentypen mit der Java-Funktion String.valueOf() in Strings. Wenn wir in der Java-Entwicklung grundlegende Datentypen in Strings konvertieren müssen, ist eine g?ngige Methode die Verwendung der Funktion valueOf() der String-Klasse. Diese Funktion kann Parameter grundlegender Datentypen akzeptieren und die entsprechende Zeichenfolgendarstellung zurückgeben. In diesem Artikel untersuchen wir, wie die Funktion String.valueOf() für grundlegende Datentypkonvertierungen verwendet wird, und stellen einige Codebeispiele dafür bereit

Methode zum Konvertieren eines char-Arrays in einen String: Dies kann durch Zuweisung erreicht werden. Verwenden Sie die Syntax {char a[]=" abc d\0efg ";string s=a;}, damit das char-Array dem String direkt einen Wert zuweisen und ausführen kann Der Code zum Abschlie?en der Konvertierung.

Ersetzen Sie Zeichen (Strings) in einem String mit der Java-Funktion String.replace(). In Java sind Strings unver?nderliche Objekte, was bedeutet, dass der Wert eines String-Objekts nach der Erstellung nicht mehr ge?ndert werden kann. Es kann jedoch vorkommen, dass Sie bestimmte Zeichen oder Zeichenfolgen in einer Zeichenfolge ersetzen müssen. Zu diesem Zeitpunkt k?nnen wir die Methode replace () in der String-Klasse von Java verwenden, um das Ersetzen von Zeichenfolgen zu implementieren. Die Methode replace() der Klasse String hat zwei Typen:

Verwenden Sie die String.length()-Funktion von Java, um die L?nge einer Zeichenfolge zu ermitteln. In der Java-Programmierung ist die Zeichenfolge ein sehr h?ufiger Datentyp. Wir müssen h?ufig die L?nge einer Zeichenfolge ermitteln, dh die Anzahl der Zeichen in der Zeichenfolge. In Java k?nnen wir die Funktion length() der String-Klasse verwenden, um die L?nge eines Strings zu ermitteln. Hier ist ein einfacher Beispielcode: publicclassStringLengthExample{publ

In diesem Artikel werden sieben M?glichkeiten vorgestellt, mit dem kostenlosen BingImageCreator eine qualitativ hochwertige Ausgabe zu erhalten. BingImageCreator (jetzt bekannt als ImageCreator für Microsoft Designer) ist einer der gro?artigen Online-Kunstgeneratoren für künstliche Intelligenz. Es generiert ?u?erst realistische visuelle Effekte basierend auf Benutzereingaben. Je spezifischer, klarer und kreativer Ihre Aufforderungen sind, desto besser werden die Ergebnisse sein. BingImageCreator hat erhebliche Fortschritte bei der Erstellung hochwertiger Bilder gemacht. Es verwendet jetzt den Dall-E3-Trainingsmodus und zeigt ein h?heres Ma? an Detailgenauigkeit und Realismus. Allerdings h?ngt die F?higkeit, konsistent HD-Ergebnisse zu liefern, von mehreren Faktoren ab, unter anderem von der Geschwindigkeit

Wie l?sche ich Bilder auf Xiaomi-Handys? Sie k?nnen Bilder auf Xiaomi-Handys l?schen, aber die meisten Benutzer wissen nicht, wie man Bilder auf Xiaomi-Handys l?scht k?nnen Sie bei uns vorbeischauen. Mal sehen! So l?schen Sie Bilder auf dem Xiaomi-Mobiltelefon 1. ?ffnen Sie zun?chst die Funktion [Album] im Xiaomi-Mobiltelefon. 2. überprüfen Sie dann die nicht ben?tigten Bilder und klicken Sie auf die Schaltfl?che [L?schen] in der unteren rechten Ecke Um den Spezialbereich aufzurufen, w?hlen Sie oben [Papierkorb] aus. 4. Klicken Sie dann direkt auf [Papierkorb leeren], wie in der Abbildung unten gezeigt. 5. Klicken Sie abschlie?end direkt auf [Permanent l?schen].

Verwenden Sie die String.startsWith()-Funktion von Java, um zu bestimmen, ob eine Zeichenfolge mit einem bestimmten Pr?fix beginnt. In der Java-Programmierung müssen wir h?ufig Zeichenfolgen verarbeiten und bestimmen. Eine h?ufige Operation besteht darin, zu bestimmen, ob eine Zeichenfolge mit einem angegebenen Pr?fix beginnt. Java stellt die Funktion ?startsWith()“ der String-Klasse bereit, mit der diese Funktion problemlos implementiert werden kann. Die Funktion ?startsWith()“ von String Die String-Klasse ist die am h?ufigsten verwendete Klasse in Java

Hallo zusammen, heute werde ich die Grundkenntnisse von Java: String mit Ihnen teilen. Unn?tig zu erw?hnen, wie wichtig die String-Klasse ist. Man kann sagen, dass sie die am h?ufigsten verwendete Klasse in unserer Back-End-Entwicklung ist, daher ist es notwendig, darüber zu sprechen.
