Imagick 缩放图片和实现模糊
2015-08-12 14:43
351 查看
Imagick功能相当的多,只是还不稳定,我下面的程序能够运行,但是会出现内存错误,但我们要的图片还是能够得到。
弄这个的原因是,一个客户要求在一个appcan的应用里面实现一个页面的背景图的缩放、调整位置和模糊效果。
这些js和css都能实现,在电脑上表现得很好,但是到了手机上,模糊就出了问题,而她又要求背景不动,调整了位置就设置了背景图的x y,但不动的话又要求背景位置fixed,所以我加了div,位置fixed,再给它放上背景图,在电脑上好好的,到手机上fixed就失效了。
我只好采取在服务器端裁切和模糊好的办法了。上代码(会奔溃,但图片会出来,所以用system去调用php了来实现吧):
弄这个的原因是,一个客户要求在一个appcan的应用里面实现一个页面的背景图的缩放、调整位置和模糊效果。
这些js和css都能实现,在电脑上表现得很好,但是到了手机上,模糊就出了问题,而她又要求背景不动,调整了位置就设置了背景图的x y,但不动的话又要求背景位置fixed,所以我加了div,位置fixed,再给它放上背景图,在电脑上好好的,到手机上fixed就失效了。
我只好采取在服务器端裁切和模糊好的办法了。上代码(会奔溃,但图片会出来,所以用system去调用php了来实现吧):
<?php ini_set('display_errors', true); error_reporting(E_ALL); $filepath = '1.jpg';//原始图片 $scale = 1.6;//缩放比例 $newfilepath = '_'.$filepath;//新位置 $blur = 25;//模糊度,越大越模糊 $W = 640;//最终宽度 $H = 960; $X = 100;//裁切的左上角x $Y = 100; list($width, $height, $type, $attr) = getimagesize($filepath); $_width = $width*$scale ; $_height = $height*$scale ; $image = new Imagick($filepath); // Resizes to whichever is larger, width or height if($image->getImageHeight() <= $image->getImageWidth()) { $image->resizeImage($_width,0,Imagick::FILTER_LANCZOS, $blur); } else { $image->resizeImage(0,$_height,Imagick::FILTER_LANCZOS, $blur); } $image->setImageCompression(Imagick::COMPRESSION_JPEG); $image->setImageCompressionQuality(75); $image->stripImage(); if($H+$Y>$image->getImageHeight()){ if($H>$image->getImageHeight()){ $H = $image->getImageHeight(); $Y = 0; }else{ $Y = $image->getImageHeight()-$H; } } if($W+$X>$image->getImageHeight()){ if($W>$image->getImageWidth()){ $W = $image->getImageWidth(); $X = 0; }else{ $X = $image->getImageWidth()-$W; } } $image->cropImage($W,$H,$X,$Y); $image->writeImage($newfilepath); $image->destroy(); echo __FILE__.'->'.__LINE__.':<br>'.chr(10);
相关文章推荐
- hdu5373
- 四种程序启动画面的制作方法(VC)
- Google Gson 使用简介
- 错位排列
- Imagick 缩放图片和实现模糊
- 9秒学院关于教育类游戏开发现状的研究
- 在mac上使用protoc-gen-lua从proto文件生成lua
- 网站架构变迁介绍
- HTML5中div,section,article的区别总结
- OC NSDictionary 省市区 练习
- Rational Rose 的安装
- 位bit,字节byte,K,M,G(转)
- linux下的DB2数据库表结构和数据分开的备份,还原到windows下,环境如下
- VCPP/CPP/PHP_统计图插件-ChartDirector(ASP/COM/VB/.NET/JSP/Java/ColdFusion/Perl/Python/Ruby)
- Elasticsearch自动分片
- 测试图片问题
- 测试保存
- 文件导入
- 树形DP UVA 1292 Strategic game
- How-to: set yarn mapreduce memory properties