suchen
HeimBackend-EntwicklungPHP-ProblemWie gebe ich Bilder in PHP aus? (Detaillierte Erläuterung der Legende)

Im vorherigen Artikel habe ich Ihnen „Wie lade ich Dateien in PHP hoch?“ vorgestellt. Nach der Lektüre werden Sie es verstehen! 》, der Ihnen ausführlich vorstellt, wie Sie Dateien in PHP hochladen. In diesem Artikel werfen wir einen Blick auf die relevanten Kenntnisse der Bildverarbeitung in PHP. Ich hoffe, dass er für alle hilfreich ist.

Wie gebe ich Bilder in PHP aus? (Detaillierte Erläuterung der Legende)

Bildverarbeitung ist etwas, dem wir bei der PHP-Arbeit häufig begegnen. Wir stoßen auf viele Szenarien, in denen wir Bilder verarbeiten müssen, wie z. B. Bildverifizierungscodes, Bildwasserzeichen usw. Tatsächlich liegt der Schwerpunkt beim Erlernen der Bildverarbeitung auf dem Erlernen der Funktionen des GD-Systems in PHP. Die Bildverarbeitung in PHP erfordert die Unterstützung der GD-Bibliothek. Schauen wir uns daher zunächst das relevante Wissen über die GD-Bibliothek an.

GD-Bibliothek

Die GD-Bibliothek ist tatsächlich in C-Sprache geschrieben und kann zusätzlich zu PHP auch verwendet werden Die GD-Bibliothek wird in vielen Sprachen verwendet und bietet viele Schnittstellen zum Verarbeiten von Bildern. Mithilfe der GD-Bibliothek können Sie auch verschiedene Grafiken, Bilder, statistische Diagramme und Bildüberprüfungscodes auf der Seite zeichnen zu erreichen.

Beispiele sind wie folgt:

<?php
phpinfo();
?>

Wenn nach der Eingabe im Ausgabeergebnis die beiden unten gezeigten Optionen angezeigt werden, bedeutet dies, dass das aktuelle Gerät die Bildverarbeitung über GD unterstützt:


Wie gebe ich Bilder in PHP aus? (Detaillierte Erläuterung der Legende)Oder Sie können Folgendes verwenden:

<?php
    print_r(gd_info());
?>

Nach der Eingabe ausführen. Wenn das Ausgabeergebnis wie in der Abbildung unten dargestellt ist, bedeutet dies auch, dass der aktuelle Computer die Bildverarbeitung über GD unterstützt.


Wie gebe ich Bilder in PHP aus? (Detaillierte Erläuterung der Legende)Wenn es nicht installiert ist, können Sie es auch vervollständigen, indem Sie einfach den vorherigen Kommentar von „extension=php_gd2.dll“ in der php.ini-Konfigurationsdatei unter Windows löschen.

In PHP ist die Verarbeitung von Bildern über die GD-Bibliothek im Allgemeinen in vier grundlegende Schritte unterteilt:

    Leinwand erstellen
  • Bild zeichnen
  • Bild ausgeben
  • Ressourcen freigeben
  • Pass In diesen vier Schritten haben wir die grundlegende Bedienung des Bildes abgeschlossen. Schauen wir uns an, wie man es bedient.

Leinwand erstellenAlle unsere Zeichnungen und Bildbearbeitungen müssen auf einem Hintergrundbild, der Leinwand, abgeschlossen werden, die als Bild verstanden werden kann. Wir haben einen temporären Bereich im Speicher, der als Leinwand dient Speichern von Bildinformationen und nachfolgende Bildvorgänge werden in diesem Bereich, der Leinwand, ausgeführt.


imagecreate() und imagecreatetruecolor() werden zum Erstellen einer Leinwand verwendet. Ihr Syntaxformat ist wie folgt:

imagecreate(int $width, int $height)
imagecreatetruecolor(int $width, int $height)

Dabei repräsentiert $width die Breite von Die erstellte Leinwand ist verständlicherweise die Breite des Bildes. $height stellt die Höhe der erstellten Leinwand dar, also die Höhe des Bildes. Beide Funktionen können zum Erstellen einer Leinwand verwendet werden, der Unterschied besteht jedoch darin, dass sie dies können für verschiedene Farbbereiche geeignet. imagecreate() imagecreatetruecolor() 用来创建画布,它们的语法格式如下:

<?php
    $img = @imagecreatetruecolor(120, 20) or die(&#39;画布创建失败!&#39;);
?>

其中,$width 表示创建画布的宽度也可以理解为图像的宽度,$height 表示创建画布的高度也就是图像的高度

这两个函数都可以用来创建画布,不过其中不同的是,他们可以容纳的色彩范围不同。

示例如下:

<?php
    $img = @imagecreatetruecolor(120, 20) or die(&#39;画布创建失败!&#39;);
    echo &#39;画布的宽度为:&#39;.imagesx($img).&#39;像素&#39;;
    echo &#39;<br>画布的高度为:&#39;.imagesy($img).&#39;像素&#39;;
?>

由于只是创建了一个画布上面并没有东西,浏览器也不会输出画布,但是可以通过 imagesx() 和 imagesy() 来获取图像的宽和高:

imagegif(resource $image[, string $filename])
imagejpeg(resource $image[, string $filename[, int $quality]])
imagepng(resource $image[, string $filename])

输出结果:

Wie gebe ich Bilder in PHP aus? (Detaillierte Erläuterung der Legende)

由此我们便完成了创建一个画布。

除了使用上面两个函数创建画布之外,还可以通过以下方式,通过文件或者url创建图像:

  • imagecreatefromgif()  :  通过 GIF 文件或者 URL 新建一个图像    

  • imagecreatefromjpeg()  :   通过 JPEG 文件或者 UR 新建一个图像    

  • imagecreatefrompng()   :   通过 PNG 文件或者 UR L新建一个图像    

  • imagecreatefromwbmp()   : 通过 WBMP 文件或者URL,新建一个图像    

输出图片

上述示例中,我们已经成功的创建了画布,在PHP中不同格式的图像也需要不同的函数来进行输出,不同的函数如下所示:

  • imagegif()  :  输出一个GIF格式图像到浏览器或文件    

  • imagejpeg()  :  输出一个JPEG格式图像到浏览器或文件    

  • imagepng() 

  • Das Beispiel lautet wie folgt:

<?php
    header(&#39;Content-type:image/jpeg&#39;);
    $image= imagecreatefrompng(&#39;php.png&#39;);
    imagepng($image);
?>

Da gerade eine Leinwand erstellt wurde und sich nichts darauf befindet, gibt der Browser die Leinwand nicht aus, aber die Breite und Höhe des Bildes kann über imagesx() und ermittelt werden imagesy():

imagedestroy(resource $image)
🎜 Ausgabeergebnis: 🎜🎜🎜Wie gebe ich Bilder in PHP aus? (Detaillierte Erläuterung der Legende)🎜🎜Jetzt haben wir die Erstellung einer Leinwand abgeschlossen. 🎜🎜Zusätzlich zur Verwendung der beiden oben genannten Funktionen zum Erstellen einer Leinwand können Sie ein Bild auch über eine Datei oder URL auf folgende Weise erstellen: 🎜🎜🎜🎜imagecreatefromgif() : Erstellen Sie ein neues Bild über eine GIF-Datei oder URL 🎜 🎜🎜🎜imagecreatefromjpeg() : Erstellen Sie ein neues Bild über eine JPEG-Datei oder URL 🎜🎜🎜🎜imagecreatefrompng() : Erstellen Sie ein neues Bild über eine PNG-Datei oder URL 🎜🎜🎜🎜 imagecreatefromwbmp() : Erstellen Sie ein neues Bild über eine WBMP-Datei oder URL 🎜🎜🎜🎜🎜🎜Ausgabebild 🎜🎜🎜🎜Im obigen Beispiel haben wir erfolgreich eine Leinwand in verschiedenen Formaten in PHP erstellt Bilder erfordern auch unterschiedliche Funktionen für die Ausgabe. Die verschiedenen Funktionen sind wie folgt: 🎜🎜🎜🎜imagegif() : Ein Bild im GIF-Format an den Browser oder eine Datei ausgeben 🎜 🎜🎜🎜imagejpeg () : Ein Bild im JPEG-Format in einen Browser oder eine Datei ausgeben 🎜🎜🎜🎜imagepng() : Ein Bild im PNG-Format in einen Browser oder eine Datei ausgeben 🎜 🎜🎜🎜Ihr Syntaxformat ist wie folgt: 🎜🎜
imagegif(resource $image[, string $filename])
imagejpeg(resource $image[, string $filename[, int $quality]])
imagepng(resource $image[, string $filename])

其中,$image为创建的一个图像资源;$filename表示为参数,用来设置文件需要保存的路径。

示例如下:

首先我在根目录中已经保存了一个名为php.png的图像文件

<?php
    header(&#39;Content-type:image/jpeg&#39;);
    $image= imagecreatefrompng(&#39;php.png&#39;);
    imagepng($image);
?>

输出结果:

Wie gebe ich Bilder in PHP aus? (Detaillierte Erläuterung der Legende)

通过imagecreatefrompng()函数和imagepng()成功的输出了一个格式为png的图片。

释放图像资源

通过上述示例已经成功的输出了图片,在图片的资源使用完成后,通常需要释放图像处理时所占用的内存,那应该怎样操作呢?

在PHP中我们通过imagedestroy() 函数来释放图像资源,语法格式如下:

imagedestroy(resource $image)

其中$image表示需要释放资源的图像

示例如下:

<?php
    header(&#39;Content-type:image/jpeg&#39;);
    $image= imagecreatefrompng(&#39;php.png&#39;);
    imagepng($image);
    imagedestroy($image);
?>

因为释放图像资源的操作是没有输出内容的,所以就不列出输出结果了。

推荐学习:《PHP视频教程

Das obige ist der detaillierte Inhalt vonWie gebe ich Bilder in PHP aus? (Detaillierte Erläuterung der Legende). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
php怎么把负数转为正整数php怎么把负数转为正整数Apr 19, 2022 pm 08:59 PM

php把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

php怎么实现几秒后执行一个函数php怎么实现几秒后执行一个函数Apr 24, 2022 pm 01:12 PM

实现方法:1、使用“sleep(延迟秒数)”语句,可延迟执行函数若干秒;2、使用“time_nanosleep(延迟秒数,延迟纳秒数)”语句,可延迟执行函数若干秒和纳秒;3、使用“time_sleep_until(time()+7)”语句。

php字符串有没有下标php字符串有没有下标Apr 24, 2022 am 11:49 AM

php字符串有下标。在PHP中,下标不仅可以应用于数组和对象,还可应用于字符串,利用字符串的下标和中括号“[]”可以访问指定索引位置的字符,并对该字符进行读写,语法“字符串名[下标值]”;字符串的下标值(索引值)只能是整数类型,起始值为0。

php怎么除以100保留两位小数php怎么除以100保留两位小数Apr 22, 2022 pm 06:23 PM

php除以100保留两位小数的方法:1、利用“/”运算符进行除法运算,语法“数值 / 100”;2、使用“number_format(除法结果, 2)”或“sprintf("%.2f",除法结果)”语句进行四舍五入的处理值,并保留两位小数。

php怎么根据年月日判断是一年的第几天php怎么根据年月日判断是一年的第几天Apr 22, 2022 pm 05:02 PM

判断方法:1、使用“strtotime("年-月-日")”语句将给定的年月日转换为时间戳格式;2、用“date("z",时间戳)+1”语句计算指定时间戳是一年的第几天。date()返回的天数是从0开始计算的,因此真实天数需要在此基础上加1。

php怎么读取字符串后几个字符php怎么读取字符串后几个字符Apr 22, 2022 pm 08:31 PM

在php中,可以使用substr()函数来读取字符串后几个字符,只需要将该函数的第二个参数设置为负值,第三个参数省略即可;语法为“substr(字符串,-n)”,表示读取从字符串结尾处向前数第n个字符开始,直到字符串结尾的全部字符。

php怎么替换nbsp空格符php怎么替换nbsp空格符Apr 24, 2022 pm 02:55 PM

方法:1、用“str_replace("&nbsp;","其他字符",$str)”语句,可将nbsp符替换为其他字符;2、用“preg_replace("/(\s|\&nbsp\;||\xc2\xa0)/","其他字符",$str)”语句。

php怎么查找字符串是第几位php怎么查找字符串是第几位Apr 22, 2022 pm 06:48 PM

查找方法:1、用strpos(),语法“strpos("字符串值","查找子串")+1”;2、用stripos(),语法“strpos("字符串值","查找子串")+1”。因为字符串是从0开始计数的,因此两个函数获取的位置需要进行加1处理。

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heiße Werkzeuge

Herunterladen der Mac-Version des Atom-Editors

Herunterladen der Mac-Version des Atom-Editors

Der beliebteste Open-Source-Editor

Dreamweaver Mac

Dreamweaver Mac

Visuelle Webentwicklungstools

VSCode Windows 64-Bit-Download

VSCode Windows 64-Bit-Download

Ein kostenloser und leistungsstarker IDE-Editor von Microsoft

SAP NetWeaver Server-Adapter für Eclipse

SAP NetWeaver Server-Adapter für Eclipse

Integrieren Sie Eclipse mit dem SAP NetWeaver-Anwendungsserver.

EditPlus chinesische Crack-Version

EditPlus chinesische Crack-Version

Geringe Größe, Syntaxhervorhebung, unterstützt keine Code-Eingabeaufforderungsfunktion