Maison développement back-end tutoriel php php下尝试使用GraphicsMagick的缩略图功能_php技巧

php下尝试使用GraphicsMagick的缩略图功能_php技巧

May 17, 2016 am 09:22 AM
缩略图

常用的图片处理工具有GDImageMagickGraphicsMagick等等。GD就是个阿斗,略过不提;ImageMagick是目前最流行的图片处理工具,它的功能非常丰富;GraphicsMagick的功能略逊于ImageMagick,但是它的效率更强悍,就好比Apache和Nginx一样,一个功能更强,一个效率更胜。

现在更看重效率,所以本文就以GraphicsMagick为例来说说:

对于PHPer来说,有两种使用GraphicsMagick的方式:

1:使用PECL Gmagick扩展。
2:使用GraphicsMagick命令行。

PECL扩展的方式我并不喜欢,一来PECL代码Bug多多,二来PECL扩展的实现,代码写起来很罗嗦:比如缩放一个GIF动画图片,如果你用命令行的方式,一句话就搞定,而用PECL扩展的话,还得先算动画有几帧,再循环处理,很麻烦。所以说我更倾向于使用命令行的方式,虽然命令行操作听起来很“重”,但如果建立若干台图片服务器,通过Gearman连接起来,其实很是很有弹性的。

下面我们就以GraphicsMagick为例,采用命令行的方式来看看如何使用缩略图功能:

先上一个原始图片(input.jpg:160x120),以后的各个例子都会用到它:

php下尝试使用GraphicsMagick的缩略图功能_php技巧

BTW:列位看官现在可以咽口水了。

缩略图1

gm convert input.jpg -thumbnail '100x100' output_1.jpg

php下尝试使用GraphicsMagick的缩略图功能_php技巧

实际生成的图片大小是:100x75,也就是说说按此命令,会保持图片比例不变生成缩略图。这样很不错,但是有一个潜在的问题:我们不能简单明了的知道图片的最终大小,结果是前端显示的时候,无法设置img标签的width和height属性,如果我没记错的话,一般是推荐设定width和height属性的,否则浏览器渲染起来可能会稍稍慢一点。

缩略图2

gm convert input.jpg -thumbnail '100x100!' output_2.jpg

php下尝试使用GraphicsMagick的缩略图功能_php技巧

这次
实际生成的图片大小按定义来,但图片变形了,有时候这是不能接受的。

缩略图3


gm convert input.jpg -thumbnail '100x100^' \
-gravity center -extent 100x100 output_3.jpg

php下尝试使用GraphicsMagick的缩略图功能_php技巧

这次不仅保证了大小,还保证了比例。不过图片经过了裁剪。

缩略图4

gm convert input.jpg -thumbnail '100x100' \
-background gray -gravity center -extent 100x100 output_4.jpg

php下尝试使用GraphicsMagick的缩略图功能_php技巧

这次不仅保证了大小,还保证了比例,同时没有对图片进行任何裁剪,多余的部分按指定颜色进行填充。

缩略图5

gm convert input.jpg -thumbnail '10000@' \
-background gray -gravity center -extent 100x100 output_5.jpg

php下尝试使用GraphicsMagick的缩略图功能_php技巧

这次保证了大小和比例,其中的10000就是100x100的乘积,同时在填充和裁剪之间做了一个平衡。


明白了以上几个例子,缩略图基本就能通吃了,肯定有一种会适合你的需求。GraphicsMagick的资料非常少,但好消息是GraphicsMagick和ImageMagick的用法基本兼容,所以你可以通过
ImageMagick的资料来套用。

补充:如果想让用户手动裁剪头片的话,imgAreaSelect是个好选择。

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

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

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

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 :

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].

Génération automatique de vignettes à l'aide de JavaScript Génération automatique de vignettes à l'aide de JavaScript Jun 16, 2023 pm 12:51 PM

Avec le développement d’Internet, les images sont devenues un élément indispensable des pages Web. Mais à mesure que le nombre d’images augmente, la vitesse de chargement des images est devenue un problème très important. Afin de résoudre ce problème, de nombreux sites Web utilisent des vignettes pour afficher des images, mais pour générer des vignettes, nous devons utiliser des outils de traitement d'images professionnels, ce qui est une chose très gênante pour certains non-professionnels. Ensuite, utiliser JavaScript pour générer automatiquement des vignettes devient un bon choix. Comment utiliser JavaS

Comment afficher les vignettes sur une clé USB Comment afficher les vignettes sur une clé USB Feb 12, 2024 pm 08:36 PM

Je rencontre souvent des clients qui disent que quelques problèmes informatiques mineurs sont très gênants dans les moments critiques. En résumé, il y a les éléments suivants. La raison pour laquelle le fichier ne peut pas être copié sur la clé USB peut être due au fait que le format de partition de la clé USB est FAT32 au lieu de NTFS. Vous pouvez essayer de changer le format de partition de la clé USB en NTFS afin de pouvoir copier des fichiers volumineux. Deuxièmement, les images ne sont pas affichées sous forme de vignettes, vous devez donc cliquer dessus une par une pour les retrouver. Le troisième type est que la page devient soudainement plus grande ou plus petite. Si vous ne connaissez pas ces trois situations, elles peuvent être résolues grâce à quelques opérations simples. 1. Changez la partition du disque U en NTFS. Le format de partition par défaut d'un disque U nouvellement acheté est généralement FAT32. Dans des circonstances normales, son utilisation ne pose aucun problème. Cependant, lorsque vous devez copier des fichiers de taille supérieure à 4G, une invite qui ne peut pas être copiée apparaîtra, ce qui entraîne des problèmes d'utilisation. pour

Explication détaillée des étapes pour générer des vignettes en PHP Explication détaillée des étapes pour générer des vignettes en PHP Sep 13, 2023 am 08:40 AM

Explication détaillée des étapes pour générer des vignettes avec PHP, des exemples de code spécifiques sont nécessaires Dans l'ère actuelle de développement rapide d'Internet, les images sont un élément indispensable des pages Web, mais les images haute résolution occuperont non seulement beaucoup de bande passante, mais aussi. affectent également la vitesse de chargement des pages Web de l’utilisateur. Par conséquent, nous devons souvent générer des vignettes à partir d’images originales pour réduire la taille de l’image et celle du fichier. En tant que langage de script côté serveur populaire, PHP fournit de riches fonctions de traitement d'images qui peuvent être utilisées pour générer des vignettes. Les étapes de génération de vignettes en PHP seront présentées en détail ci-dessous.

Comment insérer un tableau dans une présentation Powerpoint Comment insérer un tableau dans une présentation Powerpoint Apr 13, 2023 pm 10:37 PM

Les tableaux des présentations PowerPoint permettent d'afficher les données dans un format structuré lors de votre présentation. Les chiffres indiqués dans le tableau ont un meilleur impact sur le public. Microsoft Powerpoint propose plusieurs façons d'ajouter des tableaux à vos présentations. Vous pouvez choisir d'ajouter un nouveau tableau ou de copier un tableau existant dans une autre application telle qu'Excel ou Word. Méthode 1 : Insérez un tableau en sélectionnant des lignes et des colonnes sur la grille Étape 1 : Sur la vignette PowerPoint, cliquez avec le bouton droit sur la diapositive principale et sélectionnez Nouvelle diapositive. Étape 2 : allez dans Insérer et cliquez sur Tableau. Étape 3 : Dans les menus déroulants, sélectionnez le nombre total de lignes et de colonnes requis pour le tableau. Avis

Comment implémenter le défilement des images et l'aperçu des vignettes dans Vue ? Comment implémenter le défilement des images et l'aperçu des vignettes dans Vue ? Aug 18, 2023 pm 01:51 PM

Comment implémenter le défilement des images et l'aperçu des vignettes dans Vue ? Dans les projets Vue, nous devons souvent afficher un grand nombre d'images et espérer que les utilisateurs pourront parcourir et prévisualiser ces images facilement. Cet article explique comment utiliser les composants Vue pour implémenter les fonctions de défilement d'images et d'aperçu des vignettes. Tout d'abord, nous devons installer et introduire la bibliothèque Vue appropriée pour faciliter le défilement des images et l'aperçu des vignettes. Dans cet exemple, nous utiliserons les deux bibliothèques vue-awesome-swiper et vue-image-preview pour implémenter

See all articles