概述
案例一:
<?php $src_path = 'https://guwanc.oss-cn-shanghai.aliyuncs.com/video/output/outimgs/2018/09/19/153734256819844_00001.jpg'; //创建源图的实例 $src = imagecreatefromstring(file_get_contents($src_path)); //list($src_w, $src_h) = getimagesize($src_img); // 获取原图尺寸 $info = getimagesize($src_path); //var_dump($info);exit; //裁剪开区域左上角的点的坐标 $x = 1; $y = 400; //裁剪区域的宽和高 $width = 1100; $height = 600; //最终保存成图片的宽和高,和源要等比例,否则会变形 $final_width = 680; $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); $ext = pathinfo($src_path, PATHINFO_EXTENSION); $rand_name = md5(mt_rand() . time()) . "." . $ext; //输出图片 /*header('Content-Type: image/jpeg');*/ //有头直接渲染图片;无头保存图片 imagejpeg($new_image,$rand_name); imagedestroy($src); imagedestroy($new_image);
案例二:
<?php //剪裁图片 //1,打开图像 //2,创建一个空白的图像 $name="https://guwanc.oss-cn-shanghai.aliyuncs.com/video/output/outimgs/2018/09/19/153734256819844_00001.jpg"; cut($name,0,0,500,500); //$x1,$x2 起点坐标;$y1,$y2 终点坐标; function cut($name,$x1,$y1,$x2,$y2) { function getinfo($name) { //getimagesize($dname)函数可以动态的获取图片类型,大小,宽度和高度等 $info = getimagesize($name); $width = $info[0]; $height = $info[1]; $mime = $info['mime']; switch ($mime) { case 'image/jpeg': $res = imagecreatefromjpeg($name); break; case 'image/gif': $res = imagecreatefromgif($name); break; case 'image/png': $res = imagecreatefrompng($name); break; case 'image/wbmp': $res = imagecreatefromwbmp($name); break; } return array('width' => $width, 'height' => $height, 'res' => $res); } $info = getinfo($name); $img = imagecreatetruecolor(($x2 - $x1), ($y2 - $y1)); imagecopymerge($img, $info['res'], 0, 0, $x1, $y1, ($x2 - $x1), ($y2 - $y1), 100); // header("content-type:image/png"); //有头直接渲染图片;无头保存图片 // imagepng($img); $ext = pathinfo($name, PATHINFO_EXTENSION); $rand_name = md5(mt_rand() . time()) . "." . $ext; switch ($ext) { case 'jpg': case 'jpeg': case 'jpe': imagejpeg($img, $rand_name); break; case 'png': imagepng($img, $rand_name); break; case 'gif': imagegif($img, $rand_name); break; case 'bmp': case 'wbmp': imagewbmp($img, $rand_name); break; } //销毁资源 imagedestroy($info['res']); imagedestroy($img); }
最后
以上就是阔达画板为你收集整理的php 图片裁剪(保存图片 和 不保存图片)的全部内容,希望文章能够帮你解决php 图片裁剪(保存图片 和 不保存图片)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复