Lid |
|
Wanneer ik een afbeelding upload en verklein met de volgende code:
<?
function resize_px($file, $des, $w,$h, $q){
// get original image dimensions
$im_orig = ImagecreateFromJPEG($file) ;
$im_size = GetImageSize ($file);
$im_h = $im_size[1];
$im_w = $im_size[0];
// bepaal afmetingen
$foto_breedte = $im_size[0];
$foto_hoogte = $im_size[1];
// breedte is groter dan gegeven max. breedte ??
if($foto_breedte / $foto_hoogte > $w / $h) {
// breder dan is maat van de max. breedte bepalend
$nieuwe_breedte = $w;
// nu de hoogte berekenen
$waarde = $foto_breedte / $w;
$nieuwe_hoogte = round($foto_hoogte / $waarde);
} else {
// hoger dan is maat van de max. hoogte bepalend
$nieuwe_hoogte = $h;
// nu de hoogte berekenen
$waarde = $foto_hoogte / $h;
$nieuwe_breedte = round($foto_breedte / $waarde);
}
// Joepie het past
$w = $nieuwe_breedte;
$h = $nieuwe_hoogte;
// if w OR h not specified, get value
if(!$w){
$w_percentage = ($h / $im_h) * 100;
$w = ($im_w / 100) * $w_percentage;
}
if(!$h){
$h_percentage = ($w / $im_w) * 100;
$h = ($im_h / 100) * $h_percentage;
}
// create new image and copy resized
$im_resized = Imagecreate($w,$h);
imagecopyresized ($im_resized, $im_orig, 0, 0, 0, 0, $w, $h, $im_w, $im_h);
// output image
if(!$des){
header("Content-type: image/jpeg");
}
ImageJPEG($im_resized,$des,$q);
ImageDestroy($im_orig);
ImageDestroy($im_resized);
}
resize_px("".$copynaar."","".$vars['crOrgFile']."-view.jpg","220","500",100);
?>
<? function resize_px($file, $des, $w,$h, $q){ // get original image dimensions $im_orig = ImagecreateFromJPEG($file) ; $im_h = $im_size[1]; $im_w = $im_size[0]; // bepaal afmetingen $foto_breedte = $im_size[0]; $foto_hoogte = $im_size[1]; // breedte is groter dan gegeven max. breedte ?? if($foto_breedte / $foto_hoogte > $w / $h) { // breder dan is maat van de max. breedte bepalend $nieuwe_breedte = $w; // nu de hoogte berekenen $waarde = $foto_breedte / $w; $nieuwe_hoogte = round($foto_hoogte / $waarde); } else { // hoger dan is maat van de max. hoogte bepalend $nieuwe_hoogte = $h; // nu de hoogte berekenen $waarde = $foto_hoogte / $h; $nieuwe_breedte = round($foto_breedte / $waarde); } // Joepie het past $w = $nieuwe_breedte; $h = $nieuwe_hoogte; // if w OR h not specified, get value if(!$w){ $w_percentage = ($h / $im_h) * 100; $w = ($im_w / 100) * $w_percentage; } if(!$h){ $h_percentage = ($w / $im_w) * 100; $h = ($im_h / 100) * $h_percentage; } // create new image and copy resized $im_resized = Imagecreate($w,$h); imagecopyresized ($im_resized, $im_orig, 0, 0, 0, 0, $w, $h, $im_w, $im_h); // output image if(!$des){ header("Content-type: image/jpeg"); } ImageJPEG($im_resized,$des,$q); ImageDestroy($im_orig); ImageDestroy($im_resized); } resize_px("".$copynaar."","".$vars['crOrgFile']."-view.jpg","220","500",100); ?>
word mijn afbeelding helemaal verkleurt... zie hieronder een voorbeeld:
http://www.wink...g-view.jpg
orgineel:
http://www.wink...gineel.jpg
probleem opgelost alweer!
gebruik voor een foto altijd: imagecreatetruecolor();
en niet: imagecreate();
|