/**
  * @param HttpRequest $request
  */
 public function index(HttpRequest $request)
 {
     $src = __DIR__ . '/test.jpg';
     $thumb = ImageThumb::getInstance();
     //缩放
     //        $size = array(800,0);
     //        $thumb->setFlag(2); //等比缩放
     //        $thumb->makeThumb($size, $src);
     //裁剪
     $position = array(100, 200);
     $size = array(500, 300);
     $thumb->setFlag(0);
     $thumb->crop($position, $size, $src);
     $thumb->showImage();
     die;
 }
 /**
  * 裁剪图片
  * @param HttpRequest $request
  */
 public function crop(HttpRequest $request)
 {
     $x = $request->getParameter('x', 'intval');
     $y = $request->getParameter('y', 'intval');
     $w = $request->getParameter('w', 'intval');
     $h = $request->getParameter('h', 'intval');
     $_w = $request->getParameter('_w', 'intval');
     $_h = $request->getParameter('_h', 'intval');
     $src = $request->getParameter('src', 'trim');
     //$overwrite = $request->getParameter('overwrite', 'intval');
     $overwrite = 1;
     //裁剪图片
     $imgSrc = rtrim(APP_ROOT, '/') . $src;
     $position = array($x, $y);
     $size = array($w, $h);
     $thumb = ImageThumb::getInstance();
     $thumb->setFlag(0);
     $result = $thumb->crop($position, $size, $imgSrc, null, $overwrite);
     if ($result != false) {
         //如果传入了固定大小,则强制将图片缩放成指定大小
         if ($_w > 0 && $_h > 0) {
             $sizeNew = array($_w, $_h);
             $outfile = str_replace(implode('x', $size), implode('x', $sizeNew), $result);
             $thumb->makeThumb($sizeNew, $result, $outfile);
             //@unlink($result);
         }
         AjaxResult::ajaxResult(1, '裁剪成功!');
     } else {
         AjaxResult::ajaxResult(0, '裁剪失败!');
     }
 }
Example #3
0
            if ($size[0] >= 648 && $size[1] < 366) {
                $logosize = '648x366';
            } else {
                if ($size[0] >= 650) {
                    $logosize = '650x304';
                }
            }
        }
    }
    $img = imagecreatefromjpeg(__DIR__ . "/res/global/images/default-{$logosize}.jpg");
    //	$img = imagecreatefromjpeg(__DIR__."/res/global/images/default8.jpg");
    header("Content-Type:image/jpeg");
    imagejpeg($img);
    die;
}
$thumbInstance = \herosphp\utils\ImageThumb::getInstance();
$thumbInstance->setFlag(2);
//固定高度(宽度),等比缩放
//获取原图的尺寸
$srcInfo = getimagesize($imgSrc);
$rat_src = $srcInfo[0] / $srcInfo[1];
$rat_thumb = $size[0] / $size[1];
if ($rat_thumb > $rat_src) {
    $thumb = $thumbInstance->makeThumb(array($size[0], 0), $imgSrc, __DIR__ . $urlInfo['path']);
} else {
    $thumb = $thumbInstance->makeThumb(array(0, $size[1]), $imgSrc, __DIR__ . $urlInfo['path']);
}
//计算缩放后图片的尺寸
$thumbSize = getimagesize($thumb);
//计算裁剪的坐标
$position = array();