$srcRatio) { $destSize[1] = $maxHeight; $destSize[0] = $maxHeight*$srcRatio; } else { $destSize[0] = $maxWidth; $destSize[1] = $maxWidth/$srcRatio; } // path rectification if ($destInfo['extension'] == "gif") { $dest = substr_replace($dest, 'jpg', -3); } // true color image, with anti-aliasing $destImage = imageCreateTrueColor($destSize[0],$destSize[1]); imageAntiAlias($destImage,true); // src image switch ($srcSize[2]) { case 1: //GIF $srcImage = imageCreateFromGif($src); break; case 2: //JPEG $srcImage = imageCreateFromJpeg($src); break; case 3: //PNG $srcImage = imageCreateFromPng($src); break; default: return false; break; } // resampling imageCopyResampled($destImage, $srcImage, 0, 0, 0, 0,$destSize[0],$destSize[1],$srcSize[0],$srcSize[1]); // generating image switch ($srcSize[2]) { case 1: case 2: //imageJpeg($destImage,"tempimage.txt",$quality); imageJpeg($destImage,$dest,$quality); break; case 3: //imagePng($destImage,"tempimage.txt"); imagePng($destImage,$dest); break; } imagedestroy($destImage); /*$real_image = fopen($dest, "wb"); $temp_image = fopen("tempimage.txt", "rb"); $contents = fread($temp_image, filesize ("tempimage.txt")); fclose($temp_image); fwrite($real_image, $contents); fclose($real_image); */ return true; } else { return false; } } function image_rotate($src,$dest,$degrees) { if (file_exists($src) && isset($dest)) { $src_img = ImageCreateFromJPEG($src); $src_img = ImageRotate($src_img,$degrees,0); ImageJPEG($src_img, "tempimage.txt", 100); $real_image = fopen($dest, "wb"); $temp_image = fopen("tempimage.txt", "rb"); $contents = fread($temp_image, filesize ("tempimage.txt")); fclose($temp_image); fwrite($real_image, $contents); fclose($real_image); return true; } else { return false; } } function image_createCroppedThumb($src,$dest,$ulx,$uly,$lrx,$lry,$quality=100) { global $thumb_width; global $thumb_height; if (file_exists($src) && isset($dest)) { // true color image, with anti-aliasing $destImage = imageCreateTrueColor($thumb_width , $thumb_height); imageAntiAlias($destImage,true); $srcImage = imageCreateFromJpeg($src); // resampling if (imageCopyResampled($destImage, $srcImage, 0, 0, $ulx, $uly, $thumb_width, $thumb_height, $lrx-$ulx, $lry-$uly) < 0) { echo "Problem Resampling image: '$destImage' '$srcImage' '$ulx', '$uly', '$lrx', '$lry'"; return false; } ImageJPEG($destImage, "tempimage.jpg", 100); imagedestroy($destImage); $real_image = fopen($dest, "wb"); $temp_image = fopen("tempimage.jpg", "rb"); $contents = fread($temp_image, filesize ("tempimage.jpg")); fclose($temp_image); fwrite($real_image, $contents); fclose($real_image); return true; } else { return false; } } function image_flip($src, $dest, $direction) { if (file_exists($src) && isset($dest)) { // image src size $srcSize = getImageSize($src); // true color image, with anti-aliasing $destImage = imageCreateTrueColor($srcSize[0],$srcSize[1]); imageAntiAlias($destImage,true); $srcImage = imageCreateFromJpeg($src); if ($direction == "horizontal") { for ($i=0;$i<$srcSize[0];$i++) { if (imageCopyResampled($destImage, $srcImage, $srcSize[0]-$i-1, 0, $i, 0, 1, $srcSize[1], 1, $srcSize[1]) < 0) { echo "Problem Resampling image"; return false; } } } else { for ($i=0;$i<$srcSize[1];$i++) { if (imageCopyResampled($destImage, $srcImage, 0, $srcSize[1]-$i-1, 0, $i, $srcSize[0], 1, $srcSize[0], 1) < 0) { echo "Problem Resampling image"; return false; } } } ImageJPEG($destImage, "tempimage.jpg", 100); imagedestroy($destImage); $real_image = fopen($dest, "wb"); $temp_image = fopen("tempimage.jpg", "rb"); $contents = fread($temp_image, filesize ("tempimage.jpg")); fclose($temp_image); fwrite($real_image, $contents); fclose($real_image); return true; } else { return false; } } ?>