12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- <?php
- defined('InShopNC') or exit('Access Invalid!');
- function get_height($image) {
- $size = getimagesize($image);
- $height = $size[1];
- return $height;
- }
- function get_width($image) {
- $size = getimagesize($image);
- $width = $size[0];
- return $width;
- }
- function resize_thumb($thumb_image_name, $image, $width, $height, $start_width, $start_height, $scale){
- $newImageWidth = ceil($width * $scale);
- $newImageHeight = ceil($height * $scale);
- if (C('thumb.cut_type') == 'im'){
- $exec_str = rtrim(C('thumb.impath'),'/').'/convert -quality 100 -crop '.$width.'x'.$height.'+'.$start_width.'+'.$start_height.' -resize '.$newImageWidth.'x'.$newImageHeight.' '.$image.' '.$thumb_image_name;
- exec($exec_str);
- }else{
- list($imagewidth, $imageheight, $imageType) = getimagesize($image);
- $imageType = image_type_to_mime_type($imageType);
- $newImage = imagecreatetruecolor($newImageWidth,$newImageHeight);
- $white = imagecolorallocate($newImage, 255, 255, 255);
- imagefill($newImage, 0, 0, $white);
- switch($imageType) {
- case "image/gif":
- $source=imagecreatefromgif($image);
- break;
- case "image/pjpeg":
- case "image/jpeg":
- case "image/jpg":
- $source=imagecreatefromjpeg($image);
- break;
- case "image/png":
- case "image/x-png":
- $source=imagecreatefrompng($image);
- break;
- }
- $dst_w = $dst_h = 0;
- if ($newImageWidth > $width) {
- $dst_w = ($newImageWidth - $width)/2;
- }
- if ($newImageHeight > $height) {
- $dst_h = ($newImageHeight - $height)/2;
- }
- if ($dst_w > 0) {
- imagecopyresampled($newImage,$source,$dst_w,$dst_h,$start_width,$start_height,$width,$height,$width,$height);
- } else {
- imagecopyresampled($newImage,$source,0,0,$start_width,$start_height,$newImageWidth,$newImageHeight,$width,$height);
- }
- switch($imageType) {
- case "image/gif":
- imagegif($newImage,$thumb_image_name);
- break;
- case "image/pjpeg":
- case "image/jpeg":
- case "image/jpg":
- imagejpeg($newImage,$thumb_image_name,100);
- break;
- case "image/png":
- case "image/x-png":
- imagepng($newImage,$thumb_image_name);
- break;
- }
- }
- return $thumb_image_name;
- }
- ?>
|