Ik heb het onderstaande script gesprokkeld wat van een plaatje wat al online staat een thumb maakt. Alles werkt prima, alleen bij de png en de gif maakt hij de thumb zwart. Kan iemand zien wat ik verkeerd doe?
<?php
if (isset($_POST['make_thumb'])){
$in_filename = $_POST['thumb_name'];
$in_filename =str_replace("_thumb","",$in_filename);
$ext = end(explode('.', $in_filename));
copy($dir.$in_filename,$dir.$in_filename = str_replace(".","_thumb.",$in_filename));
if($ext=="jpg" || $ext=="jpeg" )
{
$image = imagecreatefromjpeg($dir.$in_filename);
}
else if($ext=="png")
{
$image = imagecreatefrompng($dir.$in_filename);
}
else
{
$image = imagecreatefromgif($dir.$in_filename);
}
list($width, $height) = getimagesize($dir.$in_filename);
if ($height > $width){
$newwidth=$thumb_width;
$newheight=($newwidth*$height)/$width;
if($newheight < $thumb_height){
$newheight=$thumb_height;
$newwidth=($newheight*$width)/$height;
}
}
if($width == $height){
$newwidth=$thumb_width;
$newheight=$thumb_height;
}
if ($height < $width){
$newheight=$thumb_height;
$newwidth=($newheight*$width)/$height;
if($newwidth < $thumb_width){
$newwidth=$thumb_width;
$newheight=($newwidth*$height)/$width;
}
}
//hier wordt gekeken wat het type van het bestand is, jpg, jpeg, png of gif
$new_image = imagecreatetruecolor($newwidth, $newheight);
//hier worden de afmetingen van de thumb daadwerkelijk aangepast
imagecopyresampled($new_image,$image,0,0,0,0,$newwidth,$newheight,$width,$height);
/* Uncomment in case you want it also outputted
header('Content-Type: image/jpeg');
imagejpeg($new_image);
*/
imagejpeg($new_image, $dir.$in_filename,100);
?><div class="msg" id="msg">
<p>Thumbnail <b>created</b>.</p>
</div><?php
}
1.565 views