Maison  >  Article  >  cadre php  >  Comment implémenter la fonction de rotation et de recadrage d'image dans le framework thinkphp

Comment implémenter la fonction de rotation et de recadrage d'image dans le framework thinkphp

WBOY
WBOYavant
2023-05-30 11:52:381077parcourir

Étape 1 : Installer le framework thinkphp
Si vous souhaitez utiliser le framework thinkphp dans votre propre développement, vous devez naturellement l'installer dans votre propre milieu de projet. L'installation de thinkphp est très simple. Il vous suffit de déplacer le package compressé décompressé directement dans le répertoire racine du projet. Après le déplacement, il vous suffit de modifier le fichier d'entrée index.php dans le projet pour commencer à utiliser thinkphp.

Étape 2 : Introduire la classe de traitement d'image dans thinkphp
Introduire la classe de traitement d'image dans le framework thinkphp pour exploiter les images, y compris principalement le zoom, le recadrage, le basique méthodes de traitement telles que la rotation. Parmi elles, la rotation des cultures est au centre de cet article.

Ajoutez le code suivant dans le contrôleur pour introduire la classe de traitement d'image :

use think\Image;

Étape 3 : Implémentation de la rotation et du recadrage de l'image #🎜 🎜# La rotation et le recadrage sont une opération combinée de rotation et de recadrage d'images, et elle est très simple à mettre en œuvre. Ce qui suit est la partie la plus difficile de cet article : l'implémentation du code de la fonction rotateCrop.

/**
* 旋转并裁剪图片操作
* @param string $image 被操作图片路径
* @param int $width 裁剪宽度
* @param int $height 裁剪高度
* @param int $degree 旋转角度
* @return bool|string 处理后保存的文件路径或者false
**/
public function rotateCrop($image, $width, $height, $degree) {
    $image = Image::open($image);
    $image->rotate($degree)->crop($width, $height)->save($image);
    return $image->save() ? $image->getPathName() : false;
}

Dans cette fonction, nous devons passer 4 paramètres : le chemin de l'image, la largeur de recadrage, la hauteur de recadrage et l'angle de rotation. Le chemin de l'image est un paramètre obligatoire, et les 3 autres paramètres sont des paramètres facultatifs. la largeur et la hauteur sont par défaut nulles, c'est-à-dire qu'aucun recadrage n'est effectué. L'angle de rotation est également défini par défaut sur 0, ce qui signifie qu'aucune rotation n'est effectuée.

Les plus importantes sont les opérations de rotation et de recadrage. La fonction Image::open($image) ouvre un objet image et appelle les méthodes rotate() et crop() dans l'objet à faire pivoter. et l'opération de recadrage, et enfin la méthode save() enregistre et génère l'image.

Étape 4 : Testez l'effet Enfin, testons notre code. Ajoutez le code suivant à notre contrôleur :

$image = 'image/test.jpg';
$width = 200;
$height = 300;
$degree = 90;
$test = $this->rotateCrop($image, $width, $height, $degree);
echo &#39;<img src="&#39;.$test.&#39;" />&#39;;

Dans le code ci-dessus, $image est le chemin de l'image cible, $width et $height sont des paramètres de recadrage de test, $degree est le paramètre de rotation de test, dans After en exécutant notre fonction rotateCrop(), un chemin d'image enregistré est renvoyé et finalement affiché sur la page. Après avoir confirmé que tout est correct, rechargez la page et vous pourrez parcourir nos photos traitées

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer