PHP-val hogyan oldható meg egy feltöltött kép méretarányos átméretezése?
Itt vannak a képekhez való PHP függvények.
Ha nincs alapból (most nem futom át és rég PHP-ztem) olyan méretezés ami neked kell, akkor kérd le a kép méretét (megkapható) és azt változtasd méretarányosan.
A kérdésedben benne van a válasz. Nézz utána a síkidomok hasonlóságának. Általános iskolás anyag.
Ezt használom.
Egyszer írtam illetve máshonnan összehajaztam egy system kernelt. Azt használom mindnehol, abban van. Universal :D
function imageResize($photo, $width, $height) {
if (file_exists($photo)) {
while (true) {
$imageName = sha1(time()) . ".jpg";
if (!is_file($imageName)) break;
}
$size = getimagesize($photo);
$x_ratio = $width / $size[0];
$y_ratio = $height / $size[1];
if (($size[0] <= $width) && ($size[1] <= $height)){
$tn_width = $size[0];
$tn_height = $size[1];
} else {
if (($x_ratio * $size[1]) < $height){
$tn_height = ceil($x_ratio * $size[1]);
$tn_width = $width;
} else {
$tn_width = ceil($y_ratio * $size[0]);
$tn_height = $height;
}
}
$pathInfo = pathinfo($photo);
switch ($pathInfo['extension']) {
case "png": $src = imagecreatefrompng($photo); break;
case "jpg": $src = imagecreatefromjpeg($photo); break;
case "jpeg": $src = imagecreatefromjpeg($photo); break;
case "gif": $src = imagecreatefromgif($photo); break;
default: die("Error: Unsupported image type.");
}
$dst = imagecreatetruecolor($tn_width, $tn_height);
imagecopyresampled($dst, $src, 0, 0, 0, 0, $tn_width, $tn_height, $size[0], $size[1]);
imagejpeg($dst, $imageName, 1) or die("Error: Photo has not been resized.");
imagedestroy($src);
imagedestroy($dst);
}
}
További kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!