English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Explicación detallada de la escalado de imágenes proporcionalmente en PHP y ejemplos de código

Suba el código directamente, imgzip($src,$newwid,$newhei) esta función lleva en su interior respectivamente la imagen original, el ancho de escala, la longitud de escala. El código está anotado, si no entiende, deje un mensaje jeje

<?php 
//Comprimir imagen, miniatura
$src= "xiezheng.jpg";
$newwid=640;
$newhei= 480;
function imgzip($src,$newwid,$newhei){
 $imgInfo = getimagesize($src);
 $imgType = image_type_to_extension($imgInfo[2], false);
 $fun = "imagecreatefrom{$imgType}";
//Declarar imagen, abrir imagen, en memoria
 $image = $fun($src);
//便于配置长度、宽度、高度,设置框为变量wid,高度为hei
 $wid=$imgInfo[0];
 $hei=$imgInfo[1];
//判断长度和宽度,以便于等比缩放,规格按照500, 320
 if($wid>$hei){
  $wid=$newwid;
  $hei=$newwid/($wid/$hei);
 }else {
  $wid = $newhei * ($wid / $hei);
  $hei = $newhei;
 }
//Crear una imagen en memoria
 $images2 = imagecreatetruecolor($newwid, $newhei); //Crear un500*32de la imagen 0
//Copiar la imagen original a la imagen nueva
//imagecopyresampled($dst_image, $src_image, $dst_x, $dst_y, $src_x, $src_y, $dst_w, $dst_h, $src_w, $src_h)
 imagecopyresampled($images2, $image, 0, 0, 0, 0, $wid,$hei, $imgInfo[0],$imgInfo[0]);
//Destruir la imagen original
 imagedestroy($image);
//Salida directa del archivo de imagen
 header("Content-type: ".$imgInfo[‘mime’]);
 imagejpeg($images2);
//Guardar la imagen en un nuevo archivo
 imagejpeg($images2, ‘new.jpg’ 100); //10La calidad de la salida del código de la imagen es 0-100 100 la calidad más alta
//Destruir
 imagedestroy($images2);
}
imgzip($src,$newwid,$newhei);
?>

 Efecto

Antes de la compresión

Después de la compresión

Aquí está la recopilación de información sobre la escalado proporcional de imágenes en PHP, se continuará complementando información relevante, ¡gracias por el apoyo a este sitio!

Te gustará