Whoops made the changes in my class forgot to take the class items out 😛 selects the word private, hits delete Also added example code
<?php
/**
* This function resizes a given image into the target file with the given width and height
*
* @author Ryan Pallas
* @version 1.0
*
* @example usage
* $src = "C:\www\images\uploads\image.jpg";
* $targ = "C:\www\images\uploads\thumbs\image.jpg";
* if( imageResize($src,$targ,100,75) ) echo "Successfully resized thumbnail";
*
* @param string $src Source input file to be resized
* @param string $target Target output after resizing
* @param int $newWidth Target width
* @param int $newHeight Target height
* @param bool $abs Whether newwidth/newheight are final or maximum measurements (Default: FALSE)
*
* @return bool
*/
function imageResize($src,$target,$newWidth,$newHeight,$abs=FALSE)
{
/**
* @var array source image info
*/
$imgInfo = getimagesize($src);
/**
* return false if not an image
*/
if($imgInfo == FALSE) return FALSE;
/**
* @var int width
* @var int height
* @var constant img type
*/
list($origWidth,$origHeight,$imgtype) = $imgInfo;
/**
* absolute dimensions or max dimensions
*/
if( !$abs )
{
/**
* determine new width & height based on aspect ratio
*/
$ratio = (($origWidth / $origHeight) > ($newWidth / $newHeight)) ? $newWidth / $origWidth : $newHeight / $origHeight;
$newWidth = (int) ($origWidth * $ratio); // set width with ratio
$newHeight = (int) ($origHeight * $ratio); // set height with ratio
/**
* if original dimensions smaller than new, do not resize
*/
if( $origHeight <= $newHeight && $origWidth <= $newWidth)
{
$newHeight = $origHeight;
$newWidth = $origWidth;
}
/**
* @var int image offset for resampling
*/
$xOffset = 0;
$yOffset = 0;
} else
{
/**
* set original sampling area based on exact new dimensions
*/
$ratio = (($origWidth / $origHeight) < ($newWidth / $newHeight)) ? $newWidth / $origWidth : $newHeight / $origHeight;
$finalHeight = (int) floor($newHeight / $ratio);
$finalWidth = (int) floor($newWidth / $ratio);
/**
* @var int offset to center resampling area on original source
*/
$yOffset = ($finalHeight == $origHeight) ? 0 : floor( ($origHeight-$finalHeight)/2 );
$xOffset = ($finalWidth == $origWidth) ? 0 : floor( ($origWidth-$finalWidth)/2 );
/**
* @var int resampling area of original source
*/
$origHeight = $finalHeight;
$origWidth = $finalWidth;
}
/**
* determine file type for correct functions
*/
switch($imgtype)
{
case IMAGETYPE_JPEG:
$create = "imagecreatefromjpeg";
$move = "imagejpeg";
break;
case IMAGETYPE_GIF:
$create = "imagecreatefromgif";
$move = "imagegif";
break;
case IMAGETYPE_PNG:
$create = "imagecreatefrompng";
$move = "imagepng";
break;
case IMAGETYPE_WBMP:
$create = "imagecreatefromwbmp";
$move = "imagewbmp";
break;
default:
return FALSE;
}
/**
* @var image create image from source
*/
$base = $create($src);
/**
* @var image create image to new size
*/
$temp = imagecreatetruecolor($newWidth,$newHeight);
/**
* copy resampled original and resize to new image
*/
imagecopyresampled($temp,$base,0,0,$xOffset,$yOffset,$newWidth,$newHeight,$origWidth,$origHeight);
/**
* move new image to destination
* return true on success, false on failure
*/
if ( $move($temp,$target) )
{
return TRUE;
} else
{
return FALSE;
}
}