很多站长朋友们都不太清楚php图像自动裁边,今天小编就来给大家整理php图像自动裁边,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 php 裁切图片问题 求助 2、 php如何实现图片的裁剪 3、 phpwind,附件图片显示均为“无头”,即上下进行了自动裁切。如何解决? 4、 php 图片裁剪 php 裁切图片问题 求助PHP做图片裁切
PHP做图片裁剪的原理是通过前台定位出要裁剪图片的左上角位置,及右下角位置的做标,如果有放大和缩小的话还要给出放大和缩小的百分比,以及要对哪一个图片进行操作,这几个值传到后台,在用PHP去处理!
前端图片坐标点的得到可以自己用JS去实现,如果你的JS写的不是很熟也没有关系,可以下载一个jsCropperUI这一个包里面有很多的DEMO,可以实现前台的拖曳效果了!
前台会有一个AJAX向后台发送数据,一般格式为x1="+position[0]+"y1="+position[1]+"x2="+position[2]+"y2="+position[3]+"r="+position[4]+"id = imgid四个坐标,缩放值,要操作的ID
后PHP接收这个数据后,进行操作
$x1 = $_GET['x1'];
$y1 = $_GET['y1'];
$x2 = $_GET['x2'];
$y2 = $_GET['y2'];
$r = $_GET['r'];
if($x2<$x1||$y2<$y1){
return false;
}
$img="dog.jpg";
$im=imagecreatefromjpeg($img);
$percent = $r*0.01;
list($width, $height) = getimagesize($img);
$new_width = $width * $percent;
$new_height = $height * $percent;
$tempimg = imagecreatetruecolor($new_width,$new_height);
imagecopyresampled($tempimg, $im,0,0,0,0, $new_width,$new_height, $width, $height);
imagejpeg($tempimg,"dog_temp.jpg");
ImageDestroy ($im);
$ims=$tempimg;
$srcW=ImageSX($ims);
$srcH=ImageSY($ims);
$top_x = $x1;
$top_y = $y1;
$bottom_x = $x2;
$bottom_y = $y2;
$newimg = imagecreatetruecolor($bottom_x-$top_x,$bottom_y-$top_y);
imagecopyresampled($newimg, $ims,0,0,$top_x,$top_y, $srcW,$srcH, $srcW, $srcH);
imagejpeg($newimg,"dogs.jpg");
ImageDestroy ($ims);
echo 1;
成功后输出1让前台得到进行裁剪区域的刷新!这样就可以实现PHP裁剪图片的效果了!
php如何实现图片的裁剪php中裁剪图片主要使用gd库的imagecopyresampled方法
$src_path = '1.jpg';
//创建源图的实例
$src = imagecreatefromstring(file_get_contents($src_path));
//裁剪开区域左上角的点的坐标
$x = 100;
$y = 12;
//裁剪区域的宽和高
$width = 200;
$height = 200;
//最终保存成图片的宽和高,和源要等比例,否则会变形
$final_width = 100;
$final_height = round($final_width * $height / $width);
//将裁剪区域复制到新图片上,并根据源和目标的宽高进行缩放或者拉升
$new_image = imagecreatetruecolor($final_width, $final_height);
imagecopyresampled($new_image, $src, 0, 0, $x, $y, $final_width, $final_height, $width, $height);
//输出图片
header('Content-Type: image/jpeg');
imagejpeg($new_image);
imagedestroy($src);
imagedestroy($new_image);
phpwind,附件图片显示均为“无头”,即上下进行了自动裁切。如何解决?自动切割的话是居中切大小的。要么切的大一点。要么。。。。
自动计算头部是不太可能的。程序怎么会知道你的图片中头在哪个位置??
php 图片裁剪那应该是你的代码问题了,裁剪说白的就是前台把一张的图片需要裁剪的位置传给后台,后台通过图片处理函数从新生成新的图片。如果你后台代码没问题,就是你前台把裁剪位置的传到后台的四个坐标点有问题,可以按照这个去排错。(网上现成的很多,可以下载下来看看)
关于php图像自动裁边的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php图像自动裁边 php剪切图片的详细内容...