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 -1 Light Poster
BzzBee 5 Posting Whiz
BaburajSNS 0 Newbie Poster
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 itsquality
.
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
Shanti C 106 Posting Virtuoso
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..
nathenastle -1 Light Poster
Thanks for your replay but where is the code iasked can you please tell me
BaburajSNS 0 Newbie Poster
$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
cwarn23 387 Occupation: Genius Team Colleague Featured Poster
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.
adnan3250 0 Newbie Poster
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..
ShawnCplus 456 Code Monkey Team Colleague
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
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.
red_ruewei 0 Light Poster
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><br>';
}
}
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.
Edited by red_ruewei because: n/a
Be a part of the DaniWeb community
We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.