怎么在PHP项目中利用php_imagick实现一个复古效果(imag,php,php_imagick,开发技术)

时间:2024-05-02 16:11:48 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

php_imagick是一个可以供PHP调用ImageMagick功能的PHP扩展,使用这个扩展可以使PHP具备和ImageMagick相同的功能。

ImageMagick是一套功能强大、稳定而且免费的工具集和开发包,可以用来读、写和处理超过185种基本格式 的图片文件,包括流行的TIFF, JPEG, GIF, PNG, PDF以及PhotoCD等格式。利用ImageMagick,你可以根据web应用程序的需要动态生成图片, 还可以对一个(或一组)图片进行改变大小、旋转、锐化、减色或增加特效等操作,并将操作的结果以相同格式或其它格式保存。

php_imagick程序示例

1.创建一个缩略图并显示出来

<?phpheader('Content-type:image/jpeg');$image=newImagick('image.jpg');//If0isprovidedasawidthorheightparameter,//aspectratioismaintained$image->thumbnailImage(100,0);echo$image;?>

2.创建一个目录下的缩略图,并保存

<?php$images=newImagick(glob('images/*.JPG'));foreach($imagesas$image){//Providing0forcesthumbnailImagetomaintainaspectratio$image->thumbnailImage(1024,0);}$images->writeImages();?>

3.缩略GIF动画图片

<?php/*CreateanewimagickobjectandreadinGIF*/$im=newImagick("example.gif");/*Resizeallframes*/foreach($imas$frame){/*50x50frames*/$frame->thumbnailImage(50,50);/*Setthevirtualcanvastocorrectsize*/$frame->setImagePage(50,50,0,0);}/*NoticewriteImagesinsteadofwriteImage*/$im->writeImages("example_small.gif",true);?>

利用php_imagick实现复古效果的方法

先来看下效果图

怎么在PHP项目中利用php_imagick实现一个复古效果
复古效果展示

要实现以上效果,我们先用Photoshop用以下步骤实现。

打开原图

新建图层,使用颜色#C0FFFF填充后,不透明度设为44%,图层混合模式为柔光

新建图层,使用颜色#000699填充后,不透明设置为48%,图层混合模式为排除

合并图层

用PHP代码,也就只需要按照以上步骤实现即可,代码如下:

//打开图片$im=newImagick('./hebe.jpg');//新建图层,使用颜色`#C0FFFF`填充后,不透明度设为`44%`$layer=newImagick();$layer->newImage($im->getImageWidth(),$im->getImageHeight(),'#C0FFFF');$layer->setImageOpacity(0.44);//叠加到原图上,图层混合模式为`柔光`$im->compositeImage($layer,Imagick::COMPOSITE_SOFTLIGHT,0,0);//新建图层,使用颜色`#000699`填充后,不透明设置为`48%`$layer=newImagick();$layer->newImage($im->getImageWidth(),$im->getImageHeight(),'#000699');$layer->setImageOpacity(0.48);//叠加到原图上,图层混合模式为`排除`$im->compositeImage($layer,Imagick::COMPOSITE_EXCLUSION,0,0);//完成!$im->writeImage('./vintage.jpg');
 </div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:怎么在PHP项目中利用php_imagick实现一个复古效果的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:怎么在php中对page分页类进行封装下一篇:

2 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18