Maison php教程 php手册 php图片的裁剪与缩放生成符合需求的缩略图

php图片的裁剪与缩放生成符合需求的缩略图

Jun 06, 2016 pm 08:32 PM
缩放 缩略图 裁剪

用在移动设备上时显示效果不好且流量巨大,需要对现有图片库的图片进行一次处理,生成符合移动设备用的缩略图,将原来客户端JS做的工作转移到服务器端用PHP的GD库来集中处理,感兴趣的朋友可以了解下

图片太大且规格不统一,显示的控制需要靠JavaScript来完成,用在移动设备上时显示效果不好且流量巨大,需要对现有图片库的图片进行一次处理,生成符合移动设备用的缩略图,将原来客户端JS做的工作转移到服务器端用PHP的GD库来集中处理。

图片源与需要的大小
代码如下:
$src_img = "wallpaper.jpg";
$dst_w = 300;
$dst_h = 200;

剪裁图像,保证图像区域最大化显示,并按比例缩放到指定大小。

一开始采用了 imagecopyresized 方法进行图像等比缩小,实际操作后发现,图像缩小后燥点非常严重。后再换用 imagecopyresampled (这里说一下,网上转载这个文章的很多,但是他们都把imagecopyresampled写成了imagecopysampled导致无法使用,所以我才重新贴了这个)方法,该方法会对图像进行重新采样,对缩小的图像进行平滑处理,使清晰度得到很大提高。
代码如下:
list($src_w,$src_h)=getimagesize($src_img); // 获取原图尺寸
$dst_scale = $dst_h/$dst_w; //目标图像长宽比
$src_scale = $src_h/$src_w; // 原图长宽比
if($src_scale>=$dst_scale)
{
// 过高
$w = intval($src_w);
$h = intval($dst_scale*$w);
$x = 0;
$y = ($src_h - $h)/3;
}
else
{
// 过宽
$h = intval($src_h);
$w = intval($h/$dst_scale);
$x = ($src_w - $w)/2;
$y = 0;
}
// 剪裁
$source=imagecreatefromjpeg($src_img);
$croped=imagecreatetruecolor($w, $h);
imagecopy($croped,$source,0,0,$x,$y,$src_w,$src_h);
// 缩放
$scale = $dst_w/$w;
$target = imagecreatetruecolor($dst_w, $dst_h);
$final_w = intval($w*$scale);
$final_h = intval($h*$scale);
imagecopyresampled($target,$croped,0,0,0,0,$final_w,$final_h,$w,$h);
// 保存
$timestamp = time();
imagejpeg($target, "$timestamp.jpg");
imagedestroy($target);
?>

希望大家能用到,还是比较方便的。
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Comment désactiver l'aperçu des vignettes de la barre des tâches dans Win11 ? Désactivez la technique d'affichage des vignettes de l'icône de la barre des tâches en déplaçant la souris Comment désactiver l'aperçu des vignettes de la barre des tâches dans Win11 ? Désactivez la technique d'affichage des vignettes de l'icône de la barre des tâches en déplaçant la souris Feb 29, 2024 pm 03:20 PM

Cet article explique comment désactiver la fonction de vignette affichée lorsque la souris déplace l'icône de la barre des tâches dans le système Win11. Cette fonctionnalité est activée par défaut et affiche une vignette de la fenêtre actuelle de l'application lorsque l'utilisateur passe le pointeur de la souris sur une icône d'application dans la barre des tâches. Cependant, certains utilisateurs peuvent trouver cette fonctionnalité moins utile ou perturber leur expérience et souhaiter la désactiver. Les miniatures de la barre des tâches peuvent être amusantes, mais elles peuvent aussi être distrayantes ou ennuyeuses. Compte tenu de la fréquence à laquelle vous survolez cette zone, vous avez peut-être fermé plusieurs fois des fenêtres importantes par inadvertance. Un autre inconvénient est qu'il utilise plus de ressources système, donc si vous cherchez un moyen d'être plus efficace en ressources, nous allons vous montrer comment le désactiver. mais

Afficher le guide de mise à l'échelle sur Windows 11 Afficher le guide de mise à l'échelle sur Windows 11 Sep 19, 2023 pm 06:45 PM

Nous avons tous des préférences différentes en matière de mise à l'échelle de l'affichage sur Windows 11. Certaines personnes aiment les grandes icônes, d’autres les petites. Cependant, nous sommes tous d’accord sur le fait qu’il est important d’avoir la bonne échelle. Une mauvaise mise à l'échelle des polices ou une mise à l'échelle excessive des images peuvent nuire à la productivité lorsque vous travaillez. Vous devez donc savoir comment la personnaliser pour tirer le meilleur parti des capacités de votre système. Avantages du zoom personnalisé : Il s'agit d'une fonctionnalité utile pour les personnes qui ont des difficultés à lire du texte à l'écran. Cela vous aide à voir plus sur l’écran à la fois. Vous pouvez créer des profils d'extension personnalisés qui s'appliquent uniquement à certains moniteurs et applications. Peut aider à améliorer les performances du matériel bas de gamme. Cela vous donne plus de contrôle sur ce qui est sur votre écran. Comment utiliser Windows 11

Comment recadrer un IFrame en HTML ? Comment recadrer un IFrame en HTML ? Aug 29, 2023 pm 04:33 PM

Les frames en ligne sont appelés iframes en HTML. Une étiquette spécifie une zone rectangulaire dans le contenu où le navigateur peut afficher différents documents avec des barres de défilement et des bordures. Pour intégrer un autre document dans le document HTML actuel, utilisez des cadres en ligne. Une référence à un élément peut être spécifiée à l'aide de l'attribut de nom HTMLiframe. En JavaScript, les références aux éléments sont également faites à l'aide de l'attribut name. Une iframe est essentiellement utilisée pour afficher une page Web dans la page Web actuellement affichée. L'URL du document contenant l'iframe est spécifiée à l'aide de l'attribut "src". Syntaxe Voici la syntaxe du HTML <iframesrc="URL"title="d

Comment personnaliser les vignettes des dossiers dans Windows 11 22H2 Comment personnaliser les vignettes des dossiers dans Windows 11 22H2 Apr 30, 2023 pm 04:52 PM

Windows 1122H2 est la première mise à jour de fonctionnalités pour Windows 11 et devrait apporter une tonne de nouvelles fonctionnalités et des améliorations indispensables. L'une des améliorations est la possibilité de prévisualiser les vignettes des fichiers d'un dossier. Si vous n’aimez pas l’apparence des vignettes des dossiers dans Windows 11, voici comment la modifier. Un ensemble d'icônes personnalisées pour les vignettes de dossiers dans Windows 11 (avec l'aimable autorisation de LEXX911 de Reddit) qui vous permet de zoomer sur les aperçus et de modifier les styles d'icônes de dossier. Vous devez toujours gérer les aperçus de fichiers individuels (sous Windows 7, par exemple, les vignettes des dossiers peuvent afficher plusieurs images en même temps), mais vous pouvez les agrandir et les rendre plus pratiques. REMARQUE IMPORTANTE :

Problème de zoom Safari sur iPhone : voici la solution Problème de zoom Safari sur iPhone : voici la solution Apr 20, 2024 am 08:08 AM

Si vous n'avez pas de contrôle sur le niveau de zoom dans Safari, faire avancer les choses peut être délicat. Donc, si Safari semble zoomé, cela pourrait être un problème pour vous. Voici quelques façons de résoudre ce problème mineur de zoom dans Safari. 1. Grossissement du curseur : sélectionnez « Affichage » > « Grossissement du curseur » dans la barre de menu Safari. Cela rendra le curseur plus visible sur l'écran, ce qui facilitera son contrôle. 2. Déplacez la souris : Cela peut paraître simple, mais parfois, le simple fait de déplacer la souris vers un autre emplacement de l'écran peut automatiquement la ramener à sa taille normale. 3. Utilisez les raccourcis clavier Fix 1 – Réinitialiser le niveau de zoom Vous pouvez contrôler le niveau de zoom directement depuis le navigateur Safari. Étape 1 – Lorsque vous êtes dans Safari

Comment zoomer des pages côte à côte dans Word Comment zoomer des pages côte à côte dans Word Mar 19, 2024 pm 07:19 PM

Lorsque nous utilisons des documents Word pour éditer des fichiers, il y a parfois plusieurs pages. Nous voulons les afficher côte à côte et vérifier l'effet global. Cependant, comme nous ne savons pas comment fonctionner, nous devons souvent faire défiler pendant longtemps. pour visualiser page par page. Je ne sais pas si vous avez déjà rencontré une situation similaire. En fait, nous pouvons facilement la résoudre à ce stade, à condition d'apprendre à placer les pages de zoom côte à côte. Ci-dessous, jetons un coup d’œil et apprenons ensemble. Tout d’abord, nous créons et ouvrons une nouvelle page dans le document Word, puis entrons un contenu simple pour le distinguer plus facilement. 2. Par exemple, si nous voulons réaliser un zoom sur les mots et un affichage côte à côte, nous devons rechercher [Affichage] dans la barre de menu, puis sélectionner [Pages multiples] dans les options de l'outil d'affichage, comme indiqué dans la figure. ci-dessous : 3. Recherchez [Pages multiples] et cliquez sur,

Comment afficher les vignettes dans Vscode_Comment afficher les vignettes dans Vscode Comment afficher les vignettes dans Vscode_Comment afficher les vignettes dans Vscode Apr 02, 2024 pm 02:43 PM

1. Entrez d'abord Visual Studio Code et cliquez sur [Fichier] dans le coin supérieur gauche. 2. Cliquez ensuite sur [Préférences]. 3. Cliquez sur l'élément [Paramètres]. 4. Cliquez ensuite sur [Éditeur de texte-Vignette]. 5. Enfin, dans l'élément vignette, activez [Contrôler l'affichage ou non des vignettes].

Comment recadrer des images tordues dans Photoshop ? Tutoriel photo de recadrage et d'inclinaison PS Comment recadrer des images tordues dans Photoshop ? Tutoriel photo de recadrage et d'inclinaison PS Mar 25, 2024 pm 10:07 PM

Certains utilisateurs trouvent que certains éléments de l'image sont tordus et ne peuvent pas être directement sélectionnés et recadrés. Existe-t-il un moyen de redresser les éléments de l'image ? En fait, cette opération est très simple pour les maîtres PS. Ici, l'éditeur expliquera aux utilisateurs novices de PS comment recadrer des images tordues en images droites dans Photoshop. Cette méthode est très simple à utiliser. J'espère qu'elle pourra aider tout le monde. Tutoriel PS pour recadrer des photos inclinées 1. Ouvrez Photoshop, déplacez la souris vers l'outil de recadrage à gauche, puis cliquez avec le bouton droit de la souris et sélectionnez "Outil de recadrage en perspective". 2. Sélectionnez l'image qui doit être redressée et déterminez les quatre points. 3. Appuyez ensuite sur la touche Entrée pour le redresser avec succès. 4. De cette façon, les éléments de la photo seront corrigés et

See all articles