This function will download images from another site , resize them and put suffix (if needed).
function download_resized_jpeg($filename,$width,$height,$suffix){
$name = explode('/',$filename);
$newfilename = end($name);
// Content type
//header('Content-Type: image/jpeg');
list($width_orig, $height_orig, $type) = getimagesize($filename);
$ratio_orig = $width_orig/$height_orig;
if ($width/$height > $ratio_orig) {
$width = $height*$ratio_orig;
} else {
$height = $width/$ratio_orig;
}
// Resample
$image_p = imagecreatetruecolor($width, $height);
if ($type == 1)
{
$image = imagecreatefromgif($filename);
}
elseif ($type == 2)
{
$image = imagecreatefromjpeg($filename);
}
elseif ($type == 3)
{
$image = imagecreatefrompng($filename);
}
else
{
$image = imagecreatefromwbmp($filename);
}
if($type==1 or $type==3) //this code below should preserve transparency but I couldn't try it out for now...
{
imagealphablending($image_p, false);
imagesavealpha($image_p, true);
imagecolortransparent($image_p, imagecolorallocatealpha($image_p, 0, 0, 0, 127));
}
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
// Output
if ($type == 1)
imagegif ($image_p, "../pictures/$newfilename$suffix".".gif", 100);
elseif ($type == 2)
imagejpeg($image_p, "../pictures/$newfilename$suffix".".jpg", 100);
elseif ($type == 3)
imagepng ($image_p, "../pictures/$newfilename$suffix".".png", 0);
else
imagewbmp ($image_p, "../pictures/$newfilename$suffix".".bmp", 100);
}