Ik heb een scriptje:
Maar ik krijg er oerlelijke plaatjes uit met imagecopyresampled.. Met imageCopyResampleBicubic krijg ik er zwarte plaatjes uit.
Ik quote van de PHP site:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| <? mysql_query("INSERT INTO pictures VALUES('','$ext','".$_POST["id"]."')"); $uploadfile = "/var/www/html/pic/pic".mysql_insert_id().".".$ext; if(move_uploaded_file($_FILES['file']['tmp_name'], $uploadfile)) { chmod($uploadfile,0644); $size=getimagesize($uploadfile); if($size[0]>500){ $percent=$size[0]/500; $newwidth = $size[0] / $percent; $newheight = $size[1] / $percent; $newimage = imagecreate($newwidth, $newheight); $source = imagecreatefromjpeg($uploadfile); imagecopyresampled($newimage, $source, 0, 0, 0, 0, $newwidth, $newheight, $size[0], $size[1]); imagejpeg($newimage,$uploadfile,100); }; |
Maar ik krijg er oerlelijke plaatjes uit met imagecopyresampled.. Met imageCopyResampleBicubic krijg ik er zwarte plaatjes uit.
Ik quote van de PHP site:
Maar ik snap niet hoe ik dit kan gebruiken als ik jpeg bestanden wil bewerken...Note: There is a problem due to palette image limitations (255+1 colors). Resampling or filtering an image commonly needs more colors than 255, a kind of approximation is used to calculate the new resampled pixel and its color. With a palette image we try to allocate a new color, if that failed, we choose the closest (in theory) computed color. This is not always the closest visual color. That may produce a weird result, like blank (or visually blank) images. To skip this problem, please use a truecolor image as a destination image, such as one created by imagecreatetruecolor().
[ Voor 30% gewijzigd door Megamind op 14-11-2004 20:33 ]