/** * リサイズ */ public function resize($fileName, $mimeType, $sizeType = 'normal') { // 画像のサイズを取得する。 $imageSize = $this->sizes($fileName); // 画像の拡張性を設定スル。 $mimeType = explode('/', $mimeType); App::uses('ImageResize', 'Vendor'); // 切り抜きサイズを取得 $resize = Configure::read('resize_info'); $resize = $resize[$sizeType]; //画像を幅100pxでリサイズして保存 $newImgname = time() . rand(100000, 999999) . '.png'; $thumb = new ImageResize($fileName, $mimeType[1]); $thumb->name($newImgname); if ($resize['height'] > $resize['width']) { $thumb->height($resize['height']); } else { $thumb->width($resize['width']); } $thumb->save(); // サイズの中心から抜き取り。 $tmp_dir = ini_get('upload_tmp_dir'); if (empty($tmp_dir)) { $tmp_dir = '/tmp'; } if ($resize['height'] != null) { $thumb = new ImageResize($tmp_dir . '/' . $newImgname, $mimeType[1]); $thumb->name($newImgname); $thumb->width($resize['width']); $thumb->height($resize['height']); $thumb->crop(0, 0); $thumb->save(); } return $tmp_dir . '/' . $newImgname; }
function ResizeImage($x, $y, $imageurl) { if ($x > 0 && $y > 0 && strlen($imageurl) > 3) { $data = parse_url(str_replace('/', '!', $imageurl)); $newfilename = $data['scheme'] . '~' . $data['host'] . '~' . $x . '~' . $y . $data['path']; $newfilepath = 'temp/' . $newfilename; $newsavedfilepath = 'resized/' . $newfilename; $baseurl = 'http://futurestore.areality3d.com'; if (!file_exists($newsavedfilepath)) { $handle = copy($imageurl, $newfilepath); $image = new ImageResize($newfilepath); $image->crop($x, $y); $image->save($newsavedfilepath); $newurl = $baseurl . '/' . $newsavedfilepath; } else { $newurl = $baseurl . '/' . $newsavedfilepath; } return $newurl; } else { return 'need x,y,imageurl'; } }