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('Content-type: image/jpeg'); $image = new Imagick('image.jpg'); // 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('images/*.JPG')); 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('./hebe.jpg'); //新建图层,使用颜色`#C0FFFF`填充后,不透明度设为`44%` $layer = new Imagick(); $layer->newImage($im->getImageWidth(), $im->getImageHeight(), '#C0FFFF'); $layer->setImageOpacity (0.44); //叠加到原图上,图层混合模式为`柔光` $im->compositeImage($layer, Imagick::COMPOSITE_SOFTLIGHT, 0, 0); //新建图层,使用颜色`#000699`填充后,不透明设置为`48%` $layer = new Imagick(); $layer->newImage($im->getImageWidth(), $im->getImageHeight(), '#000699'); $layer->setImageOpacity (0.48); //叠加到原图上,图层混合模式为`排除` $im->compositeImage($layer, Imagick::COMPOSITE_EXCLUSION, 0, 0); //完成! $im->writeImage('./vintage.jpg');
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 :
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!