1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > PHP实现上传裁剪图片

PHP实现上传裁剪图片

时间:2022-02-27 05:59:46

相关推荐

PHP实现上传裁剪图片

后端开发|php教程

php,图片,裁剪

后端开发-php教程

本文主要和大家分享PHP实现上传裁剪图片,主要以代码的形式和大家分享,希望能帮助到大家。

电缆系统 源码,vscode是谁开发的,ubuntu无法sudo,tomcat读取中文乱码,爬虫抓取优化,php返回http状态码,二七区seo推广价格,网站首页效果源码,理财平台模板lzw

/ 图片裁剪上传// $source_path = E:\www\cylxsh\storage\app\\.$url; // 原图路径 $source_path = storage_path(app\\.$url); // 原图路径 $target_width = 1000; // 目标宽度 $target_height = 100; // 目标高度 $source_info = getimagesize($source_path); //获取图像信息 $source_width = $source_info[0]; //原图宽度 $source_height = $source_info[1]; // 原图高度 $source_mime = $source_info[mime]; // 文件类型 $source_ratio = $source_height / $source_width; // 原图比例 $target_ratio = $target_height / $target_width; // 目标比例 // 源图过高 if ($source_ratio > $target_ratio) { $cropped_width = $source_width; // 裁剪的宽度 $cropped_height = $source_width * $target_ratio; // 裁剪的高度 $source_x = 0; $source_y = ($source_height - $cropped_height) / 2; } // 源图过宽 elseif ($source_ratio < $target_ratio) { $cropped_width = $source_height / $target_ratio; $cropped_height = $source_height; $source_x = ($source_width - $cropped_width) / 2; $source_y = 0; } // 源图适中 else { $cropped_width = $source_width; $cropped_height = $source_height; $source_x = 0; $source_y = 0; } switch ($source_mime) { case image/gif:$source_image = imagecreatefromgif($source_path);break; case image/jpeg:$source_image = imagecreatefromjpeg($source_path);break; case image/png:$source_image = imagecreatefrompng($source_path);break; default:return false;break; } $target_image = imagecreatetruecolor($target_width, $target_height); $cropped_image = imagecreatetruecolor($cropped_width, $cropped_height); // 裁剪 imagecopy($cropped_image, $source_image, 0, 0, $source_x, $source_y, $cropped_width, $cropped_height); // 缩放 imagecopyresampled($target_image, $cropped_image, 0, 0, 0, 0, $target_width, $target_height, $cropped_width, $cropped_height); // 设置随机的文件名 $chars=null; $len = 50; if (is_null($chars)) { $chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; } mt_srand(10000000*(double)microtime()); for ($i = 0, $fileName = \, $lc = strlen($chars)-1; $i "图片上传失败"]); }

专题网站 源码,vscode热加载插件,ubuntu网卡正常,tomcat.ico,sqlite三种多线程,小爬虫机器人制作过程,php如何定义函数,seo与直通车,discuz 网站模版改编码,模板网字体下载lzw

PHP图片裁剪与缩放示例(无损裁剪图片)

微擎 九宫格 源码,奶瓶 ubuntu16.04,python网络爬虫心得,免费ide php,淘宝seo待遇lzw

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。