Changeset 23503 for branches/version-2_13-dev/data/class/SC_Image.php
- Timestamp:
- 2014/06/03 14:51:51 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/version-2_13-dev/data/class/SC_Image.php
r23124 r23503 40 40 // 拡張子以外を置き換える。 41 41 $newFileName = preg_replace("/^.*\./", $mainname, $_FILES[$keyname]['name']); 42 $result = $this->MakeThumb($_FILES[$keyname]['tmp_name'], $this->tmp_dir , $max_width, $max_height, $newFileName);42 $result = $this->MakeThumb($_FILES[$keyname]['tmp_name'], $this->tmp_dir, $max_width, $max_height, $newFileName); 43 43 GC_Utils_Ex::gfDebugLog($result); 44 44 … … 53 53 $to_path = $save_dir.'/'.$filename; 54 54 if (file_exists($from_path) && file_exists($save_dir)) { 55 if (copy($from_path , $to_path)) {55 if (copy($from_path, $to_path)) { 56 56 unlink($from_path); 57 57 } … … 79 79 * @param array 新ファイル名を格納した配列 80 80 */ 81 public function MakeThumb($FromImgPath , $ToImgPath , $tmpMW, $tmpMH, $newFileName = '')81 public function MakeThumb($FromImgPath, $ToImgPath, $tmpMW, $tmpMH, $newFileName = '') 82 82 { 83 83 // 画像の最大横幅(単位:ピクセル) … … 98 98 99 99 if (empty($FromImgPath) || empty($ToImgPath)) { 100 return array(0, '出力元画像パス、または出力先フォルダが指定されていません。');100 return array(0, '出力元画像パス、または出力先フォルダが指定されていません。'); 101 101 } 102 102 103 103 if (!file_exists($FromImgPath)) { 104 return array(0, '出力元画像が見つかりません。');104 return array(0, '出力元画像が見つかりません。'); 105 105 } 106 106 … … 110 110 // 画像の種類が不明 or swf 111 111 if (!$size[2] || $size[2] > 3) { 112 return array(0, '画像形式がサポートされていません。');112 return array(0, '画像形式がサポートされていません。'); 113 113 } 114 114 … … 138 138 139 139 // サムネイル画像ファイル名作成処理 140 $tmp = array_pop(explode('/', $FromImgPath)); // /の一番最後を切り出し141 $FromFileName = array_shift(explode('.', $tmp)); // .で区切られた部分を切り出し140 $tmp = array_pop(explode('/', $FromImgPath)); // /の一番最後を切り出し 141 $FromFileName = array_shift(explode('.', $tmp)); // .で区切られた部分を切り出し 142 142 $ToFile = $FromFileName; // 拡張子以外の部分までを作成 143 143 144 $ImgNew = imagecreatetruecolor($re_size[0], $re_size[1]);144 $ImgNew = imagecreatetruecolor($re_size[0], $re_size[1]); 145 145 146 146 switch ($size[2]) { … … 154 154 $ToFile .= '.gif'; 155 155 } 156 if (!@copy($FromImgPath , $ToImgPath.$ToFile)) { // エラー処理157 158 return array(0, 'ファイルのコピーに失敗しました。');156 if (!@copy($FromImgPath, $ToImgPath.$ToFile)) { // エラー処理 157 158 return array(0, 'ファイルのコピーに失敗しました。'); 159 159 } 160 160 ImageDestroy($ImgNew); 161 161 162 return array(1, $ToFile);163 } 164 165 ImageColorAllocate($ImgNew, 255,235,214); //背景色166 $black = ImageColorAllocate($ImgNew, 0,0,0);167 $red = ImageColorAllocate($ImgNew, 255,0,0);168 Imagestring($ImgNew, 4,5,5,"GIF $size[0]x$size[1]", $red);169 ImageRectangle ($ImgNew, 0,0,($re_size[0]-1),($re_size[1]-1), $black);162 return array(1, $ToFile); 163 } 164 165 ImageColorAllocate($ImgNew, 255, 235, 214); //背景色 166 $black = ImageColorAllocate($ImgNew, 0, 0, 0); 167 $red = ImageColorAllocate($ImgNew, 255, 0, 0); 168 Imagestring($ImgNew, 4, 5, 5, "GIF $size[0]x$size[1]", $red); 169 ImageRectangle ($ImgNew, 0, 0, ($re_size[0]-1), ($re_size[1]-1), $black); 170 170 171 171 if ($newFileName) { … … 177 177 } 178 178 $TmpPath = $ToImgPath.$ToFile; 179 @Imagepng($ImgNew, $TmpPath);179 @Imagepng($ImgNew, $TmpPath); 180 180 // 画像が作成されていない場合 181 181 if (!@file_exists($TmpPath)) { 182 return array(0, '画像の出力に失敗しました。');182 return array(0, '画像の出力に失敗しました。'); 183 183 } 184 184 ImageDestroy($ImgNew); 185 185 186 return array(1, $ToFile);186 return array(1, $ToFile); 187 187 188 188 case '2': //jpg形式 189 189 $ImgDefault = ImageCreateFromJpeg($FromImgPath); 190 //ImageCopyResized($ImgNew, $ImgDefault, 0, 0, 0, 0,$re_size[0], $re_size[1],$size[0], $size[1]);190 //ImageCopyResized($ImgNew, $ImgDefault, 0, 0, 0, 0, $re_size[0], $re_size[1], $size[0], $size[1]); 191 191 192 192 if ($re_size[0] != $size[0] || $re_size[0] != $size[0]) { 193 ImageCopyResampled($ImgNew, $ImgDefault, 0, 0, 0, 0,$re_size[0], $re_size[1],$size[0], $size[1]);193 ImageCopyResampled($ImgNew, $ImgDefault, 0, 0, 0, 0, $re_size[0], $re_size[1], $size[0], $size[1]); 194 194 } 195 195 … … 205 205 } 206 206 $TmpPath = $ToImgPath.$ToFile; 207 @ImageJpeg($ImgNew, $TmpPath);207 @ImageJpeg($ImgNew, $TmpPath); 208 208 // 画像が作成されていない場合 209 209 if (!@file_exists($TmpPath)) { 210 return array(0, "画像の出力に失敗しました。<br>${ImgNew}<br>${TmpPath}");210 return array(0, "画像の出力に失敗しました。<br>${ImgNew}<br>${TmpPath}"); 211 211 } 212 212 $RetVal = $ToFile; … … 215 215 case '3': //png形式 216 216 $ImgDefault = ImageCreateFromPNG($FromImgPath); 217 //ImageCopyResized($ImgNew, $ImgDefault, 0, 0, 0, 0, $re_size[0], $re_size[1],$size[0], $size[1]);218 ImageCopyResampled($ImgNew, $ImgDefault, 0, 0, 0, 0, $re_size[0], $re_size[1],$size[0], $size[1]);217 //ImageCopyResized($ImgNew, $ImgDefault, 0, 0, 0, 0, $re_size[0], $re_size[1], $size[0], $size[1]); 218 ImageCopyResampled($ImgNew, $ImgDefault, 0, 0, 0, 0, $re_size[0], $re_size[1], $size[0], $size[1]); 219 219 220 220 if ($newFileName) { … … 226 226 } 227 227 $TmpPath = $ToImgPath.$ToFile; 228 @ImagePNG($ImgNew, $TmpPath);228 @ImagePNG($ImgNew, $TmpPath); 229 229 // 画像が作成されていない場合 230 230 if (!@file_exists($TmpPath)) { 231 return array(0, '画像の出力に失敗しました。');231 return array(0, '画像の出力に失敗しました。'); 232 232 } 233 233 $RetVal = $ToFile; … … 238 238 ImageDestroy($ImgNew); 239 239 240 return array(1, $RetVal);240 return array(1, $RetVal); 241 241 } 242 242 }
Note: See TracChangeset
for help on using the changeset viewer.
