PHP创建缩略图造成图片质量低上的完美解决办法
PHP创建缩略图造成图片质量低下的完美解决方法
近期弄个论坛,在首页要有个排名,显示评论最多的前十位用户的列表,列表有个略图是用户最新上传的作品,如果使用原来的图,图片过大,首页加载过慢,因此要使用略图
以上来使用imagecopyresized这个函数,显示质量很差如图
后来改用imagecopyresampled效果明显改变效果如图
付上完整代码
/** * @name thum 缩略图函数 * @param sting $img_name 图片路径 * @param int $max_width 略图最大宽度 * @param int $max_height 略图最大高度 * @param sting $suffix 略图后缀(如"img_x.jpg"代表小图,"img_m.jpg"代表中图,"img_l.jpg"代表大图) * @return void */ function thum($img_name,$max_width,$max_height,$suffix){ $img_infos=getimagesize($img_name); $img_height=$img_infos[0];//图片高 $img_width=$img_infos[1];//图片宽 $img_extension='';//图片后缀名 switch($img_infos[2]){ case 1: $img_extension='gif'; break; case 2: $img_extension='jpeg'; break; case 3: $img_extension='png'; break; default: $img_extension='jpeg'; break; } $new_img_size=get_thum_size($img_width,$img_height,$max_width,$max_height);//新的图片尺寸 //print_r($new_img_size); //die('test'); $img_func='';//函数名称 $img_handle='';//图片句柄 $thum_handle='';//略图图片句柄 switch($img_extension){ case 'jpg': $img_handle=imagecreatefromjpeg($img_name); $img_func='imagejpeg'; break; case 'jpeg': $img_handle=imagecreatefromjpeg($img_name); $img_func='imagejpeg'; break; case 'png': $img_handle=imagecreatefrompng($img_name); $img_func='imagepng'; break; case 'gif': $img_handle=imagecreatefromgif($img_name); $img_func='imagegif'; break; default: $img_handle=imagecreatefromjpeg($img_name); $img_func='imagejpeg'; break; } /****/ $quality=100;//图片质量 if($img_func==='imagepng' && (str_replace('.', '', PHP_VERSION)>= 512)){//针对php版本大于5.12参数变化后的处理情况 $quality=9; } /****/ $thum_handle=imagecreatetruecolor($new_img_size['height'],$new_img_size['width']); if(function_exists('imagecopyresampled')){ imagecopyresampled($thum_handle,$img_handle, 0, 0, 0, 0,$new_img_size['height'],$new_img_size['width'],$img_height,$img_width); }else{ imagecopyresized($thum_handle,$img_handle, 0, 0, 0, 0,$new_img_size['height'],$new_img_size['width'],$img_height,$img_width); } call_user_func_array($img_func,array($thum_handle,get_thum_name($img_name,$suffix),$quality)); imagedestroy($thum_handle);//清除句柄 imagedestroy($img_handle);//清除句柄 } /** * @name get_thum_size 获得缩略图的尺寸 * @param $width 图片宽 * @param $height 图片高 * @param $max_width 最大宽度 * @param $maxHeight 最大高度 * @param array $size; */ function get_thum_size($width,$height,$max_width,$max_height){ $now_width=$width;//现在的宽度 $now_height=$height;//现在的高度 $size=array(); if($now_width>$max_width){//如果现在宽度大于最大宽度 $now_height*=number_format($max_width/$width,4); $now_width= $max_width; } if($now_height>$max_height){//如果现在高度大于最大高度 $now_width*=number_format($max_height/$now_height,4); $now_height=$max_height; } $size['width']=floor($now_width); $size['height']=floor($now_height); return $size; } /** *@ name get_thum_name 获得略图的名称(在大图基础加_x) */ function get_thum_name($img_name,$suffix){ $str=explode('#',$img_name); $str1=explode('.',$str[1]); return $str[0].'_'.$suffix.'.'.$str1[1]; }

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Les méthodes pour ouvrir les fichiers img incluent l'utilisation d'un logiciel de lecteur optique virtuel, l'utilisation d'un logiciel de compression et l'utilisation d'outils spéciaux. Introduction détaillée : 1. Utilisez le logiciel de lecteur optique virtuel pour ouvrir, télécharger et installer un logiciel de lecteur optique virtuel, cliquez avec le bouton droit sur le fichier img, sélectionnez "Ouvrir avec" ou "Programme associé", sélectionnez le logiciel de lecteur optique virtuel installé dans la fenêtre contextuelle. -up boîte de dialogue, virtuel Le logiciel du lecteur optique chargera automatiquement le fichier img et l'utilisera comme image disque dans le lecteur optique virtuel Double-cliquez sur l'icône du disque dans le lecteur optique virtuel pour ouvrir le fichier img et accéder à son contenu. etc.

Comment ouvrir le fichier img : 1. Confirmez le chemin du fichier img ; 2. Utilisez l'ouvre-fichier img ; 3. Sélectionnez la méthode d'ouverture ; 4. Affichez l'image ; Le fichier img est un format de fichier image couramment utilisé, généralement utilisé pour stocker des données d'image.

img est un format de compression de fichiers, principalement utilisé pour créer des fichiers image de disquette. Il peut être utilisé pour compresser le contenu d'une disquette entière ou d'un CD entier. Des fichiers avec l'extension ".IMG" sont créés en utilisant ce format de fichier. Le fichier img comprend 3 nœuds de base, à savoir "Ehfa_HeaderTag", "Ehfa_File" et "Ehfa_Entry".

En HTML5, width signifie width. L'attribut width définit la largeur de la zone de contenu de l'élément. Vous pouvez ajouter des marges intérieures, des bordures et des marges extérieures en dehors de la zone de contenu. élément.

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

Le disque U est l'un des périphériques de stockage fréquemment utilisés. Il y aura également quelques problèmes mineurs lors de l'utilisation. Par exemple : le disque U ne peut pas être lu. Comment le résoudre ? Vous n'arrivez pas à lire la clé USB ? 4 étapes pour vous apprendre à résoudre le problème facilement. Une fois la clé USB insérée dans l'ordinateur, cliquez sur le menu Démarrer, sélectionnez Panneau de configuration et rangez-la ! Vous n'arrivez pas à lire la clé USB ? 4 étapes pour vous apprendre à résoudre facilement le problème. Recherchez et double-cliquez sur le Gestionnaire de périphériques dans le Panneau de configuration. Garde le! Vous n'arrivez pas à lire la clé USB ? 4 étapes pour vous apprendre à résoudre facilement le problème : Recherchez le contrôleur Universal Serial Bus sur l'interface principale du Gestionnaire de périphériques et rangez-le ! Vous n'arrivez pas à lire la clé USB ? 4 étapes pour vous apprendre à trouver facilement le périphérique de stockage de masse USB, le sélectionner, faire un clic droit, trouver Désinstaller et ranger le ! Vous n'arrivez pas à lire la clé USB ? 4 étapes pour vous apprendre à résoudre le problème facilement. Bienvenue à laisser un message pour discussion !

Explication détaillée des propriétés des dimensions CSS : hauteur et largeur Dans le développement front-end, CSS est un puissant langage de définition de style. Parmi eux, la hauteur et la largeur sont les deux attributs de dimension les plus élémentaires, utilisés pour définir la hauteur et la largeur de l'élément. Cet article analysera ces deux propriétés en détail et fournira des exemples de code spécifiques. 1. Attribut Height L'attribut height est utilisé pour définir la hauteur d'un élément. Vous pouvez utiliser le pixel, le pourcentage ou

Comment changer l'attribut img src dans jquery : 1. Utilisez l'attribut attr(), la syntaxe "$("img").attr("src","image file address""); 2. Utilisez la méthode prop(), la syntaxe " $("img").prop("src","L'adresse du fichier image")".
