Heim > Backend-Entwicklung > PHP-Tutorial > PHP kann auch die Größe von JPEG-Bildern ändern!

PHP kann auch die Größe von JPEG-Bildern ändern!

藏色散人
Freigeben: 2023-04-10 16:20:01
Original
3836 Leute haben es durchsucht

Im vorherigen Artikel „Warum ist der Operator === in PHP schneller als ==? 》Wir stellen Ihnen vor, warum der ===-Operator in PHP schneller ist als ==. Interessierte Freunde können mehr darüber erfahren~

Das Thema dieses Artikels besteht darin, Ihnen beizubringen, wie Sie die JPEG-Bildgröße in PHP anpassen.

Im Prozess der Website-Entwicklung stoßen wir manchmal auf die Anforderung, die Funktion zum Skalieren von Bildern wie Titelbildern, Miniaturansichten, Informationsbildern usw. zu implementieren. Die Größe des Bildes muss entsprechend den Anforderungen angegeben werden, aber jeder sollte auch wissen, dass wir die Bildgröße mit HTML wie folgt ändern können:

<img src="001.jpg"    style="max-width:90%" width="100" alt="图片尺寸">
Nach dem Login kopieren

Natürlich liegt der Schwerpunkt dieses Artikels auf der Verwendung von PHP Um die Bildgröße anzupassen, schauen wir uns den Code direkt an:

Der PHP-Code lautet wie folgt:

<?php

$filename = &#39;001.jpg&#39;;

// 最大宽度和高度
$width = 100;
$height = 100;

// 文件类型
header(&#39;Content-Type: image/jpg&#39;);

// 新尺寸
list($width_orig, $height_orig) = getimagesize($filename);

$ratio_orig = $width_orig/$height_orig;

if ($width/$height > $ratio_orig) {
    $width = $height*$ratio_orig;
} else {
    $height = $width/$ratio_orig;
}

// 重采样的图像
$image_p = imagecreatetruecolor($width, $height);
$image = imagecreatefromjpeg($filename);

imagecopyresampled($image_p, $image, 0, 0, 0, 0,
    $width, $height, $width_orig, $height_orig);

// 输出图像
imagejpeg($image_p, null, 100);
Nach dem Login kopieren

Der Effekt ist wie folgt:

PHP kann auch die Größe von JPEG-Bildern ändern!

Hier müssen Sie eine wichtige Funktion beherrschen imagecopyresampled( ): imagecopyresampled()

(该函数适用版本PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

imagecopyresampled

(Diese Funktion ist anwendbar auf Version PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

imagecopyresampled – Resample und kopiere einen Teil davon Bild und ändern Sie die Größe;

Syntax:

imagecopyresampled(
    resource $dst_image,
    resource $src_image,
    int $dst_x,
    int $dst_y,
    int $src_x,
    int $src_y,
    int $dst_w,
    int $dst_h,
    int $src_w,
    int $src_h
): bool
Nach dem Login kopieren

Parameter bzw.:

dst_image:目标图象资源。
src_image:源图象资源。
dst_x:目标 X 坐标点。
dst_y:目标 Y 坐标点。
src_x:源的 X 坐标点。
src_y:源的 Y 坐标点。
dst_w:目标宽度。
dst_h:目标高度。
src_w:源图象的宽度。
src_h:源图象的高度。
Nach dem Login kopieren

imagecopyresampled() kopiert einen quadratischen Bereich von einem Bild zum anderen, interpoliert dabei reibungslos Pixelwerte und reduziert so unter anderem die Größe des Bildes bei gleichzeitiger Beibehaltung der hohen Schärfe.

In other words, imagecopyresampled() will take a rectangular area from src_image of width src_w and height src_h at position (src_x,src_y) and place it in a rectangular area of dst_image of width dst_w and height dst_h at position (dst_x,dst_y).
Nach dem Login kopieren
Wenn Quelle und Ziel unterschiedliche Breiten und Höhen haben, kommt es zu einer entsprechenden Bildverkleinerung und -streckung. Die Koordinaten beziehen sich auf die obere linke Ecke. Diese Funktion kann zum Kopieren von Regionen innerhalb desselben Bildes verwendet werden (wenn dst_image und src_image gleich sind), die Ergebnisse sind jedoch unvorhersehbar, wenn sich die Regionen überlappen. Abschließend möchte ich jedem das neueste und umfassendste „🎜PHP-Video-Tutorial🎜“ empfehlen ~ Kommen Sie und lernen Sie! 🎜

Das obige ist der detaillierte Inhalt vonPHP kann auch die Größe von JPEG-Bildern ändern!. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage