Maison > développement back-end > tutoriel php > Comment implémenter un exemple de code de mise à l'échelle d'image php

Comment implémenter un exemple de code de mise à l'échelle d'image php

怪我咯
Libérer: 2023-03-13 11:22:01
original
1439 Les gens l'ont consulté

Cet article présente principalement la méthode de génération de téléchargerimagesvignettes en fonction de la taille spécifiée dans des proportions égales en PHP. Les amis qui en ont besoin peuvent s'y référer. it

Le code source donné dans l'article peut réaliser la fonction de génération de vignettes selon la mise à l'échelle proportionnelle des images. C'est une technique très pratique.

Créez un nouveau fichier index.php. Vous devez avoir une image dans le répertoire des statistiques sous la forme pic.jpg (le nom de l'image peut être modifié en fonction du code source)

Le le code source est le suivant :

<?php
$filename="pic.jpg";
$per=0.3;
list($width, $height)=getimagesize($filename);
$n_w=$width*$per;
$n_h=$height*$per;
$new=imagecreatetruecolor($n_w, $n_h);
$img=imagecreatefromjpeg($filename);
//copy部分图像并调整
imagecopyresized($new, $img,0, 0,0, 0,$n_w, $n_h, $width, $height);
//图像输出新图片、另存为
imagejpeg($new, "pic1.jpg");
imagedestroy($new);
imagedestroy($img);
?>
Copier après la connexion

Après l'avoir exécuté avec un navigateur, il y aura pic1.jpg dans le répertoire au même niveau que index.php. Cette image est une image mise à l'échelle. être modifié dans le code source et placé dans votre propre projet. Vous pouvez aller ou écrire une méthode.


Ce qui suit décrit la méthode de compression d'image en PHP. Les lecteurs peuvent s'y référer ou l'améliorer en fonction de l'application spécifique et télécharger directement le code, imgzip($src,$newwid,$newhei) fonctionCe qui est introduit, ce sont l'image originale, la largeur requise pour la mise à l'échelle et la longueur de la mise à l'échelle.

<?php 
//压缩图片 缩略图
$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}";
//声明图片 打开图片 在内存中
 $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;
 }
//在内存中建立一张图片
 $images2 = imagecreatetruecolor($newwid, $newhei); //建立一个500*320的图片
 
//将原图复制到新建图片中
//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[1]);
//销毁原始图片
 imagedestroy($image);
//直接输出图片文件
 
 header("Content-type: ".$imgInfo[&#39;mime&#39;]);
 imagejpeg($images2);
//保存图片 到新文件
 imagejpeg($images2, &#39;new.jpg&#39;, 100); //10代码输出图片的质量 0-100 100质量最高
//销毁
 imagedestroy($images2);
}
imgzip($src,$newwid,$newhei);
?>
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal