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