/** * @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, '裁剪失败!'); } }
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();