Maison >développement back-end >tutoriel php >Comment puis-je redimensionner les images téléchargées à 147x147px en PHP à l'aide de GD ?

Comment puis-je redimensionner les images téléchargées à 147x147px en PHP à l'aide de GD ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-17 05:03:251002parcourir

How Can I Resize Uploaded Images to 147x147px in PHP Using GD?

Mise à l'échelle d'image en PHP

Introduction au cas

En PHP, vous souhaitez écrire du code pour transmettre un formulaire. les images téléchargées sont automatiquement redimensionnées à 147x147px. Vous souhaitez réduire la taille du fichier en mettant l'image à l'échelle.

Implémentation du code

Pour accomplir cette tâche, vous pouvez utiliser les fonctions ImageMagick ou GD de PHP pour traiter les images.

En utilisant GD, vous pouvez réaliser les fonctions suivantes :

function resize_image($file, $w, $h, $crop=FALSE) {
    list($width, $height) = getimagesize($file);
    $r = $width / $height;
    if ($crop) {
        if ($width > $height) {
            $width = ceil($width-($width*abs($r-$w/$h)));
        } else {
            $height = ceil($height-($height*abs($r-$w/$h)));
        }
        $newwidth = $w;
        $newheight = $h;
    } else {
        if ($w/$h > $r) {
            $newwidth = $h*$r;
            $newheight = $h;
        } else {
            $newheight = $w/$r;
            $newwidth = $w;
        }
    }
    $src = imagecreatefromjpeg($file);
    $dst = imagecreatetruecolor($newwidth, $newheight);
    imagecopyresampled($dst, $src, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);

    return $dst;
}

Vous pouvez appeler cette fonction comme suit :

$img = resize_image(‘/path/to/some/image.jpg’, 200, 200);

En règle générale, le rééchantillonnage d'images par GD Il réduit considérablement la taille du fichier, en particulier lors du rééchantillonnage d'images brutes d'appareils photo numériques.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn