coupe-r Posted December 7, 2011 Share Posted December 7, 2011 Hi All, Everything is working pretty good, its just the thumbnail portion that adds a black background to every picture it converts. When the user uploads a picture, I take the original picture and then make a thumbnail, so I have 2 images in my fileroot. The original picture looks just fine, its just when I open the thumbnail. Attached is a sample of the black background picture. Below is just the thumbnail portion of the code. include('uploads/image.php'); $image = $path; $thumb = new SimpleImage(); $thumb->load($image); $width = 150; $height = 95; $thumb->resize($width,$height); $thumb->save('uploads/thumbnails/'.$filename); image.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; } } Quote Link to comment https://forums.phpfreaks.com/topic/252636-upload-help-creating-thumbnail-puts-black-background-on-every-picture/ Share on other sites More sharing options...
QuickOldCar Posted December 7, 2011 Share Posted December 7, 2011 read the manual about transparent images http://www.php.net/imagecolortransparent http://www.php.net/imagesavealpha Quote Link to comment https://forums.phpfreaks.com/topic/252636-upload-help-creating-thumbnail-puts-black-background-on-every-picture/#findComment-1295143 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.