加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 如何使用ImageMagick像素化部分图像?

发布时间:2020-12-13 22:29:20 所属栏目:PHP教程 来源:网络整理
导读:我试图找出一种方法来像素化图像的一部分但到目前为止没有成功. 目前我正在遵循以下本教程:http://www.mutinydesign.co.uk/free-scripts/live-photo-blurring-script/ 使用jQuery插件“imgAreaSelect”,以便用户可以从UI中选择部分图片.然后点击’pixelate
我试图找出一种方法来像素化图像的一部分但到目前为止没有成功.

目前我正在遵循以下本教程:http://www.mutinydesign.co.uk/free-scripts/live-photo-blurring-script/

使用jQuery插件“imgAreaSelect”,以便用户可以从UI中选择部分图片.然后点击’pixelate’.然后对phpmagick编写的pixelate函数进行ajax调用.像素化函数如下所示:

<?php
$x1 = $_GET['x1'];
$y1 = $_GET['y1'];
$x2 = $_GET['x2'];
$y2 = $_GET['y2'];
$inputImage = $_GET['inputImage'];
$outputImage = 'output_'.$_GET['inputImage'];

exec( "convert {$inputImage} ( +clone -scale 20%  -scale 500% ) 
      ( +clone -gamma 0 -fill white 
      -draw 'rectangle {$x1},{$y1} {$x2},{$y2}' -blur  10x4 ) 
      -composite  {$outputImage}" );

echo $outputImage;
?>

这确实有效,但它会对整个图像进行像素化,而不仅仅是选择的部分.任何想法或建议表示赞赏.有没有人能够完成类似的事情?

解决方法

您需要做的是将图像分成两个变量,复制它.然后在所需位置周围裁剪一个图像.像素化它,然后将它直接放回到它所在的另一个图像上.

然后输出它.

你将有一个模糊的图像子部分,其余部分清晰.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读