954,585 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Have something to say? Contribute New Article Reply to this Article

How to resize images

Can any one help me how to resize images in php with out changing its original quality,that is if an image with size 100/100 when it reduced to 40/30 or any our required dimensions with out changing its quality .

nathenastle
Light Poster
28 posts since Mar 2009
Reputation Points: 9
Solved Threads: 2
 
BzzBee
Posting Whiz
327 posts since Apr 2009
Reputation Points: 16
Solved Threads: 48
 
Can any one help me how to resize images in php with out changing its original quality,that is if an image with size 100/100 when it reduced to 40/30 or any our required dimensions with out changing its quality .


Please check blow Pices of Code

$tmpFName =	$_FILES["UploadFloorPlane"]["tmp_name"];
$fType	 =	$_FILES["UploadFloorPlane"]["type"];
$fSize	 =	$_FILES["UploadFloorPlane"]["size"];
list($width, $height, $type, $attr) = getimagesize($tmpFName);
if($width > 0) {
$fType = image_type_to_mime_type($type);
$img_valid = "true";
} else 
$img_valid = "false";

if($img_valid == "true"){
if(($fType == 'image/jpeg') || ($fType == 'image/pjpeg')){
$pExt = ".jpg";
} 
elseif($fType == 'image/gif'){
$pExt=".gif";
} 
elseif($fType == 'image/png'){
$pExt=".png";
} 
else{ 
$result = -2;
}
$rand=rand(0,10000);
$Enlarge = "ImageName";
$thumb   = "ImageName_thumb";
$origImage = $Enlarge ;
copy($tmpFName,$origImage.$pExt);
chmod ($origImage.$pExt, 0755);  // octal; correct value of mode
$NormalThumbImgName = $Enlarge.$pExt;
$SmallThumbImgName = $thumb.$pExt;
$DestPath = getcwd();
$objThumbnail = new ThumbNail();
$objThumbnail->CreateThumb($SmallThumbImgName,$DestPath.$origImage.$pExt,$DestPath,40,30,false,false);

Download the below Url Class files http://www.phpclasses.org/browse/file/4883.html


BaburajSns
Securenext Softwares Pvt

BaburajSNS
Newbie Poster
5 posts since Apr 2009
Reputation Points: 11
Solved Threads: 0
 

One more point...
By using our php codes..
Changing from 100X100 image to 40X50 image will result into same quality image...But vice versa will give corrupted image..

So make it note when your are going develop in your projects..

Shanti C
Posting Virtuoso
1,642 posts since Jul 2008
Reputation Points: 137
Solved Threads: 162
 

Thanks for your replay but where is the code iasked can you please tell me

nathenastle
Light Poster
28 posts since Mar 2009
Reputation Points: 9
Solved Threads: 2
 
$tmpFName = $_FILES["UploadFloorPlane"]["tmp_name"];
$fType = $_FILES["UploadFloorPlane"]["type"];
$fSize = $_FILES["UploadFloorPlane"]["size"];
list($width, $height, $type, $attr) = getimagesize($tmpFName);
if($width > 0) {
$fType = image_type_to_mime_type($type);
$img_valid = "true";
} else 
$img_valid = "false";

if($img_valid == "true"){
if(($fType == 'image/jpeg') || ($fType == 'image/pjpeg')){
$pExt = ".jpg";
} 
elseif($fType == 'image/gif'){
$pExt=".gif";
} 
elseif($fType == 'image/png'){
$pExt=".png";
} 
else{ 
$result = -2;
}
$rand=rand(0,10000);
$Enlarge = "ImageName";
$thumb = "ImageName_thumb";
$origImage = $Enlarge ;
copy($tmpFName,$origImage.$pExt);
chmod ($origImage.$pExt, 0755); // octal; correct value of mode
$NormalThumbImgName = $Enlarge.$pExt;
$SmallThumbImgName = $thumb.$pExt;
$DestPath = getcwd();
$objThumbnail = new ThumbNail();
$objThumbnail->CreateThumb($SmallThumbImgName,$DestPath.$origImage.$pExt,$DestPath,40,30,false,false);

Download the CreateThumb Class files function http://www.daniweb.com/forums/post850887.html#post850887

BaburajSNS
Newbie Poster
5 posts since Apr 2009
Reputation Points: 11
Solved Threads: 0
 

Hi, I have made a function that will resize images and is as follows:

<?php
function resize_image($filename,$newwidth,$newheight) {
    if (!file_exists($filename) || !in_array(preg_replace('/(.*)[.]([^.]+)/is','$2',basename($filename)),array('png','jpg','jpeg','gif','xbm','xpm','wbmp'))) {
        //note .wbmp is 'wireless bitmap' and not 'windows bitmap'.
        return false;
        } else {
        $ext=preg_replace('/(.*)[.]([^.]+)/is','$2',basename($filename));
        if ($ext=='jpg') { $ext='jpeg'; }
        $ext='imagecreatefrom'.$ext;
        list($width, $height) = getimagesize($filename);
        $thumb = imagecreatetruecolor($newwidth, $newheight);
        $source = $ext($filename);
        imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
        return $thumb;
        }
    }
$img = resize_image('file_from.gif','320','280');
//save image to file
imagejpeg ($img,'file.gif',100);
?>


Hope that helps ya as I would imagine that some of the previous posts would be a little confusing without the syntax highlighter.

cwarn23
Occupation: Genius
Team Colleague
3,033 posts since Sep 2007
Reputation Points: 413
Solved Threads: 259
 

I do not understand why we (the programmers) use unnecessary huge buggy codes of our own for resizing images??!! As we've phpThumb, custom image resizing functions are just a history. Then why do we manually write those codes again and make our script buggy!

Yes I know what I am saying. I was using my own codes for image resizing and one day I got problem with corrupted images and got no solution. Then I used phpThumb and the problem is fixed..

adnan3250
Newbie Poster
1 post since Jun 2009
Reputation Points: 10
Solved Threads: 0
 

I do not understand why we (the programmers) use unnecessary huge buggy codes of our own for resizing images??!! As we've phpThumb, custom image resizing functions are just a history. Then why do we manually write those codes again and make our script buggy!

Yes I know what I am saying. I was using my own codes for image resizing and one day I got problem with corrupted images and got no solution. Then I used phpThumb and the problem is fixed..

To know more details please visit this [URL snipped]


Because that's how programmers work. phpThumb didn't magically appear, there was some dumb guy/gal saying "Well I don't like that library, I'm going to write my own and name it phpThumb." It just so happens other people started using it. So, of course, there are still programmers that say "Well, I don't like that library I'm going to write my own."

Most of the time it's because in programmers' heads their code rocks and everyone else's sucks.

ShawnCplus
Code Monkey
Team Colleague
1,583 posts since Apr 2005
Reputation Points: 526
Solved Threads: 268
 

Hi @cwarn23 , i want ask something if you dont mind. I had look to your example code. It simple and nice ;) but it is useful for resizing image that will store to db as blob? I try to apply it, but not working :'(. Hope you can give an idea based on your experience. Appreciate your respon. Thanks in advance.

just in case, here my code

if ($submit == 'Simpan')
{
	global $strDesc;
	$max_size = 1000000000;
	$fileUpload = $HTTP_POST_FILES['fileUpload1']['tmp_name'] ;
	if($fileUpload != NULL)
	{
		  $fileUpload_name=$HTTP_POST_FILES['fileUpload1']['name'];
		  $fileUpload_size=$HTTP_POST_FILES['fileUpload1']['size'];
		  $fileUpload_type=$HTTP_POST_FILES['fileUpload1']['type'];
		  $fileUpload = $HTTP_POST_FILES['fileUpload1']['tmp_name'] ;
		
		  $fileHandle=fopen($fileUpload, "rb");
		  $fileContent=fread($fileHandle,filesize($fileUpload));
		  $fileContent=addslashes($fileContent);
		  fclose($fileHandle);
			
		$sqls="";		
		  if ($fileUpload_size > (1024*1024))
		  {
		  	echo "reduce";
				$fileContent=resize_image($fileUpload_name,'500','500');
				echo $fileContent;
				$sqls = "INSERT INTO image_store (image_1,description) VALUES ('$fileContent','$fileUpload_type')";    
		  }		
		  else
		  {
		  	echo "add biasa";
			$sqls = "INSERT INTO image_store (image_1,description) VALUES ('$fileContent','$fileUpload_type')";    
		  }
		  echo $sqls;
		 // if($sqls !="")
      	  //	$result = mysql_query($sqls);
				
		  echo '<span style="width: 600; height: 30; font-size: 20px; font-family: verdana; color: #FF0000; ">Berjaya!!!!.</span>';
	}
		
}
function resize_image($filename,$newwidth,$newheight) 
{
	echo $filename;
	if (!file_exists($filename) || !in_array(preg_replace('/(.*)[.]([^.]+)/is','$2',basename($filename)),array('png','jpg','jpeg','gif','xbm','xpm','wbmp','pjpeg'))) 
	{
		//note .wbmp is 'wireless bitmap' and not 'windows bitmap'.
		echo "false";
		return false;
	} 
	else 
	{
		echo "true";
		$ext=preg_replace('/(.*)[.]([^.]+)/is','$2',basename($filename));
		if ($ext=='jpg') { $ext='jpeg'; }
		$ext='imagecreatefrom'.$ext;
		list($width, $height) = getimagesize($filename);
		$thumb = imagecreatetruecolor($newwidth, $newheight);
		$source = $ext($filename);
		imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
		return $thumb;
	}
}

Hi, I have made a function that will resize images and is as follows:

<?php
function resize_image($filename,$newwidth,$newheight) {
    if (!file_exists($filename) || !in_array(preg_replace('/(.*)[.]([^.]+)/is','$2',basename($filename)),array('png','jpg','jpeg','gif','xbm','xpm','wbmp'))) {
        //note .wbmp is 'wireless bitmap' and not 'windows bitmap'.
        return false;
        } else {
        $ext=preg_replace('/(.*)[.]([^.]+)/is','$2',basename($filename));
        if ($ext=='jpg') { $ext='jpeg'; }
        $ext='imagecreatefrom'.$ext;
        list($width, $height) = getimagesize($filename);
        $thumb = imagecreatetruecolor($newwidth, $newheight);
        $source = $ext($filename);
        imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
        return $thumb;
        }
    }
$img = resize_image('file_from.gif','320','280');
//save image to file
imagejpeg ($img,'file.gif',100);
?>
Hope that helps ya as I would imagine that some of the previous posts would be a little confusing without the syntax highlighter.
red_ruewei
Light Poster
37 posts since Jun 2010
Reputation Points: 10
Solved Threads: 0
 

This article has been dead for over three months

Post: Markdown Syntax: Formatting Help
You