|
|
@@ -0,0 +1,76 @@
|
|
|
+<?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, 90);
|
|
|
+ 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, 90);
|
|
|
+ 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, 90);
|
|
|
+ imagedestroy($image_wp);
|
|
|
+ imagedestroy($image);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+}
|
|
|
+?>
|