freakjon Posted November 24, 2010 Share Posted November 24, 2010 Hello, I use this code to resize images: <?php function makeresize($dir,$pic,$n,$t){ @list($width, $height, $type, $attr) = @getimagesize($pic); $max_w = 700; $max_h = 500; $ratio = @min($max_w/$width,$max_h/$height); if ($ratio < 1){ $w = @floor($ratio*$width); $h = @floor($ratio*$height); $thumb = @imagecreatetruecolor($w,$h); if ($t == 'image/jpeg'){$temp = @imagecreatefromjpeg($pic);} elseif ($t == 'image/gif'){$temp = @imagecreatefromgif($pic);} elseif ($t == 'image/png'){$temp = @imagecreatefrompng($pic);} @imagecopyresampled($thumb,$temp,0,0,0,0,$w,$h,$width,$height); if ($t == 'image/jpeg'){@imagejpeg($thumb,"$dir/".$n, 100);} elseif ($t == 'image/gif'){@imagegif($thumb,"$dir/".$n, 100);} elseif ($t == 'image/png'){@imagepng($thumb,"$dir/".$n, ;} } } ?> the code that calls the function above is: $tipi_consentiti = array("image/gif","image/jpeg","image/png","image/pjpeg"); // form data $titolo = @addslashes($_POST['titolo']); $descrizione = @addslashes($_POST['descrizione']); $nome = @addslashes($_FILES['imagefile']['name']); $path = $carfoto_user . stripslashes($nome); $tipo = @addslashes($_FILES['imagefile']['type']); ............ if ((@in_array($_FILES['imagefile']['type'], $tipi_consentiti))&& ($_FILES["imagefile"]["size"] < 2200000)){ // copio il file nella cartella delle immagini @copy ($_FILES['imagefile']['tmp_name'], $carfoto_user . $nome); $nomenew = $t."_".$nome; @makeresize($carfoto_user,$path,$nomenew,$tipo); unlink($carfoto_user.$nome); well. everything works fine, but now I want to paste the resized image produced on another image that has a fixed size. It is necessary for javascript gallery output (if the image is too small). How can I change the above code to do this. Can you help me? Thanks in advance..sorry for my english please :-\ Quote Link to comment Share on other sites More sharing options...
Mancent Posted November 24, 2010 Share Posted November 24, 2010 here is mine i use. rezise.php <?php class SimpleImage { var $image; var $image_type; function load($filename) { $image_info = getimagesize($filename); $this->image_type = $image_info[2]; if( $this->image_type == IMAGETYPE_JPEG ) { $this->image = imagecreatefromjpeg($filename); } elseif( $this->image_type == IMAGETYPE_GIF ) { $this->image = imagecreatefromgif($filename); } elseif( $this->image_type == IMAGETYPE_PNG ) { $this->image = imagecreatefrompng($filename); } } function save($filename, $image_type=IMAGETYPE_JPEG, $compression=75, $permissions=null) { if( $image_type == IMAGETYPE_JPEG ) { imagejpeg($this->image,$filename,$compression); } elseif( $image_type == IMAGETYPE_GIF ) { imagegif($this->image,$filename); } elseif( $image_type == IMAGETYPE_PNG ) { imagepng($this->image,$filename); } if( $permissions != null) { chmod($filename,$permissions); } } function output($image_type=IMAGETYPE_JPEG) { if( $image_type == IMAGETYPE_JPEG ) { imagejpeg($this->image); } elseif( $image_type == IMAGETYPE_GIF ) { imagegif($this->image); } elseif( $image_type == IMAGETYPE_PNG ) { imagepng($this->image); } } function getWidth() { return imagesx($this->image); } function getHeight() { return imagesy($this->image); } function resizeToHeight($height) { $ratio = $height / $this->getHeight(); $width = $this->getWidth() * $ratio; $this->resize($width,$height); } function resizeToWidth($width) { $ratio = $width / $this->getWidth(); $height = $this->getheight() * $ratio; $this->resize($width,$height); } function scale($scale) { $width = $this->getWidth() * $scale/100; $height = $this->getheight() * $scale/100; $this->resize($width,$height); } function resize($width,$height) { $new_image = imagecreatetruecolor($width, $height); imagecopyresampled($new_image, $this->image, 0, 0, 0, 0, $width, $height, $this->getWidth(), $this->getHeight()); $this->image = $new_image; } } ?> then you just place this code on the uploader <?php $image=new SimpleImage(); $image->load($filetempname); $image->resize(1900,1200); //<<----- THIS IS THE WIDTH AND HEIGHT $image->save($filepath.$filename); ?> Quote Link to comment Share on other sites More sharing options...
freakjon Posted November 25, 2010 Author Share Posted November 25, 2010 here is mine i use. rezise.php <?php class SimpleImage { var $image; var $image_type; function load($filename) { $image_info = getimagesize($filename); $this->image_type = $image_info[2]; if( $this->image_type == IMAGETYPE_JPEG ) { $this->image = imagecreatefromjpeg($filename); } elseif( $this->image_type == IMAGETYPE_GIF ) { $this->image = imagecreatefromgif($filename); } elseif( $this->image_type == IMAGETYPE_PNG ) { $this->image = imagecreatefrompng($filename); } } function save($filename, $image_type=IMAGETYPE_JPEG, $compression=75, $permissions=null) { if( $image_type == IMAGETYPE_JPEG ) { imagejpeg($this->image,$filename,$compression); } elseif( $image_type == IMAGETYPE_GIF ) { imagegif($this->image,$filename); } elseif( $image_type == IMAGETYPE_PNG ) { imagepng($this->image,$filename); } if( $permissions != null) { chmod($filename,$permissions); } } function output($image_type=IMAGETYPE_JPEG) { if( $image_type == IMAGETYPE_JPEG ) { imagejpeg($this->image); } elseif( $image_type == IMAGETYPE_GIF ) { imagegif($this->image); } elseif( $image_type == IMAGETYPE_PNG ) { imagepng($this->image); } } function getWidth() { return imagesx($this->image); } function getHeight() { return imagesy($this->image); } function resizeToHeight($height) { $ratio = $height / $this->getHeight(); $width = $this->getWidth() * $ratio; $this->resize($width,$height); } function resizeToWidth($width) { $ratio = $width / $this->getWidth(); $height = $this->getheight() * $ratio; $this->resize($width,$height); } function scale($scale) { $width = $this->getWidth() * $scale/100; $height = $this->getheight() * $scale/100; $this->resize($width,$height); } function resize($width,$height) { $new_image = imagecreatetruecolor($width, $height); imagecopyresampled($new_image, $this->image, 0, 0, 0, 0, $width, $height, $this->getWidth(), $this->getHeight()); $this->image = $new_image; } } ?> then you just place this code on the uploader <?php $image=new SimpleImage(); $image->load($filetempname); $image->resize(1900,1200); //<<----- THIS IS THE WIDTH AND HEIGHT $image->save($filepath.$filename); ?> thanks, but it is not suitable to my needs. The image produced is not proportional to the original image. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.