Maison  >  Article  >  développement back-end  >  Comment obtenir un effet rétro avec php_imagick

Comment obtenir un effet rétro avec php_imagick

墨辰丷
墨辰丷original
2018-05-31 14:27:021438parcourir

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;
?>

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();
?>

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);
?>

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;);

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!

Déclaration:
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
Article précédent:temps de traitement php+mysqlArticle suivant:temps de traitement php+mysql