| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- <?php
- namespace app\admin\controller;
- use cmf\controller\AdminBaseController;
- use think\Db;
- class ImgController {
- // public function initialize(){
- // parent::initialize();
- // $username = $_SESSION['think']['name'];
- // $userid = $_SESSION['think']['ADMIN_ID'];
- // //判断是否是编辑管理员
- // $iseditor = 0;
- // $iseditor = Db::name('role_user')->where('role_id',3)->where('user_id',$userid)->count();
- // $this->iseditor = $iseditor;
- // $this->uname = $username;
- // $this->assign('iseditor',$iseditor);
- // }
-
- /**
- * desription 压缩图片
- * @param sting $imgsrc 图片路径
- * @param string $imgdst 压缩后保存路径
- */
- public function compressedImage($imgsrc, $imgdst) {
-
- list($width, $height, $type) = getimagesize($imgsrc);
-
- $new_width = $width;//压缩后的图片宽
- $new_height = $height;//压缩后的图片高
-
- if($width >= 600){
- $per = 600 / $width;//计算比例
- $new_width = $width * $per;
- $new_height = $height * $per;
- }
- // echo $type.':'.$width.":".$height;die();
- switch ($type) {
- case 1:
- $giftype = check_gifcartoon($imgsrc);
- if ($giftype) {
- header('Content-Type:image/gif');
- $image_wp = imagecreatetruecolor($new_width, $new_height);
- $image = imagecreatefromgif($imgsrc);
- imagecopyresampled($image_wp, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
- //90代表的是质量、压缩图片容量大小
- imagejpeg($image_wp, $imgdst, 100);
- imagedestroy($image_wp);
- imagedestroy($image);
- }
- break;
- case 2:
- header('Content-Type:image/jpeg');
- $image_wp = imagecreatetruecolor($new_width, $new_height);
- $image = imagecreatefromjpeg($imgsrc);
- imagecopyresampled($image_wp, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
- //90代表的是质量、压缩图片容量大小
- imagejpeg($image_wp, $imgdst, 100);
- imagedestroy($image_wp);
- imagedestroy($image);
- break;
- case 3:
- header('Content-Type:image/png');
- $image_wp = imagecreatetruecolor($new_width, $new_height);
- $image = imagecreatefrompng($imgsrc);
- imagecopyresampled($image_wp, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
- //90代表的是质量、压缩图片容量大小
- imagejpeg($image_wp, $imgdst, 100);
- imagedestroy($image_wp);
- imagedestroy($image);
- break;
- }
- }
- }
- ?>
|