I believe that many people are familiar with php_imagick. This article first briefly introduces php_imagick and simple examples, and then introduces the method of using php_imagick to achieve retro effects through sample code, which is of certain significance to everyone's study and work. For reference value, friends in need can take a look below.
Introduction
php_imagick is a PHP extension that allows PHP to call the ImageMagick function. Using this extension can make PHP have the same functions as ImageMagick .
ImageMagick is a powerful, stable and free toolset and development package that can be used to read, write and process image files in more than 185 basic formats, including popular TIFF, JPEG, GIF, PNG, PDF and PhotoCD and other formats. Using ImageMagick, you can dynamically generate images according to the needs of web applications. You can also change the size, rotate, sharpen, reduce color or add special effects to an image (or a group of images), and save the results in the same format. or save in other formats.
php_imagick program example
1. Create a thumbnail and display it
<?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. Create a thumbnail in a directory and save it
<?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. Thumbnail GIF animated pictures
<?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); ?>
##How to use php_imagick to achieve retro effects
Let’s take a look at the renderings firstRetro effect display
To achieve the above effects, we first use Photoshop and use the following steps accomplish.
Open the original imageWith PHP code, you only need to follow the above steps to implement it. The code is as follows:
//打开图片 $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');
php Detailed explanation of the steps to generate images with QR codes and force download
PHP database redis usage and analysis
The above is the detailed content of How to achieve retro effect with php_imagick. For more information, please follow other related articles on the PHP Chinese website!