Comment obtenir un effet rétro avec php_imagick

墨辰丷
Libérer: 2023-03-28 17:08:01
original
1452 Les gens l'ont consulté

Je pense que beaucoup de gens connaissent php_imagick.Cet article présente d'abord brièvement php_imagick et des exemples simples, puis présente la méthode d'utilisation de php_imagick pour obtenir des effets rétro via un exemple de code, ce qui revêt une certaine importance pour l'étude et le travail de chacun. Pour référence et valeur de référence, les amis dans le besoin peuvent jeter un œil ci-dessous.

Introduction

php_imagick est une extension PHP qui permet à PHP d'appeler la fonction ImageMagick. L'utilisation de cette extension peut donner à PHP les mêmes fonctions que. ImageMagick.
ImageMagick est un ensemble d'outils et de développement puissant, stable et gratuit qui peut être utilisé pour lire, écrire et traiter des fichiers image dans plus de 185 formats de base, notamment les formats populaires TIFF, JPEG, GIF, PNG, PDF et PhotoCD et d'autres formats. . En utilisant ImageMagick, vous pouvez générer dynamiquement des images en fonction des besoins des applications Web. Vous pouvez également modifier la taille, faire pivoter, affiner, réduire la couleur ou ajouter des effets spéciaux à une image (ou un groupe d'images) et enregistrer les résultats dans le fichier. même format ou enregistrer dans d’autres formats.

Exemple de programme php_imagick

1. Créez une vignette et affichez-la

<?php
header(&#39;Content-type: image/jpeg&#39;);
$image = new Imagick(&#39;image.jpg&#39;);
// If 0 is provided as a width or height parameter,// aspect ratio is maintained
$image->thumbnailImage(100, 0);
echo $image;
?>
Copier après la connexion

2. Créez une vignette dans un répertoire et enregistrez-la

<?php
$images = new Imagick(glob(&#39;images/*.JPG&#39;));
foreach($images as $image) {
// Providing 0 forces thumbnailImage to maintain aspect ratio
$image->thumbnailImage(1024,0);
}
$images->writeImages();
?>
Copier après la connexion

3. Images animées GIF miniatures

<?php
/* Create a new imagick object and read in GIF */
$im = new Imagick("example.gif");
/* Resize all frames */
foreach ($im as $frame) {
/* 50x50 frames */
$frame->thumbnailImage(50, 50);
/* Set the virtual canvas to correct size */
$frame->setImagePage(50, 50, 0, 0);
}/* Notice writeImages instead of writeImage */
$im->writeImages("example_small.gif", true);
?>
Copier après la connexion

Utilisez php_imagick pour obtenir un effet rétro Méthode

Premier coup d'oeil aux rendus


Affichage de l'effet rétro

Pour obtenir l'effet ci-dessus, nous utilisons d'abord Photoshop et utilisez les étapes suivantes pour y parvenir.

Ouvrez l'image originale

Créez un nouveau calque, remplissez-le avec la couleur #C0FFFF, réglez l'opacité à 44 % et réglez le mode de fusion des calques sur Doux Lumière

Créez un nouveau calque, remplissez-le avec la couleur #000699, définissez l'opacité sur 48 % et définissez le mode de fusion des calques pour exclure

Fusionner les calques

Avec le code PHP, il vous suffit de suivre les étapes ci-dessus pour l'implémenter. Le code est le suivant :

//打开图片
$im = new Imagick(&#39;./hebe.jpg&#39;);
//新建图层,使用颜色`#C0FFFF`填充后,不透明度设为`44%`
$layer = new Imagick();
$layer->newImage($im->getImageWidth(), $im->getImageHeight(), &#39;#C0FFFF&#39;);
$layer->setImageOpacity (0.44);
//叠加到原图上,图层混合模式为`柔光`
$im->compositeImage($layer, Imagick::COMPOSITE_SOFTLIGHT, 0, 0);
//新建图层,使用颜色`#000699`填充后,不透明设置为`48%`
$layer = new Imagick();
$layer->newImage($im->getImageWidth(), $im->getImageHeight(), &#39;#000699&#39;);
$layer->setImageOpacity (0.48);
//叠加到原图上,图层混合模式为`排除` 
$im->compositeImage($layer, Imagick::COMPOSITE_EXCLUSION, 0, 0);
//完成!
$im->writeImage(&#39;./vintage.jpg&#39;);
Copier après la connexion

Résumé : C'est tout pour cet article. Nous espérons que l'ensemble du contenu de l'article sera utile à l'étude de chacun.

Recommandations associées :

phpExplication détaillée des étapes pour générer des images avec des codes QR et forcer le téléchargement

Utilisation et analyse de Redis de la base de données PHP

Que faire si PHP Post ne peut pas obtenir de données hors formulaire

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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!