PHP gevorderde |
|
<?php
$x = imagesx($image);
$y = imagesy($image);
if($x > $maxx || $y > $maxy) {
verklein;
}
?>
<?php $x = imagesx($image); $y = imagesy($image); if($x > $maxx || $y > $maxy) { verklein; } ?>
simpele manier om eindpunt x en y te bepalen.
iets complexer maar houd rekening met breedte / hoogte verhouding
<?php
//--- achterhaal de eigenschappen van de foto
list($breedte, $hoogte, $image_type) = getimagesize($path . $_FILES['userfile']['name']);
//--- bepaal de verhouding tussen hoogte en breete
$image_ratio = $hoogte / $breedte;
//--- bereken op basis van de raio de nieuwe hoogte
if($image_ratio > 1){
$rs_breedte = $user_breedte;
$rs_hoogte = $user_breedte * $image_ratio;
}
else{
$rs_hoogte = $user_breedte;
$rs_breedte = $user_breedte / $image_ratio;
}
//--- maak resize image aan in het geheugen
$resize = imagecreatetruecolor($rs_breedte, $rs_hoogte);
//--- bron om te resizen
$source = imagecreatefromjpeg($path . $_FILES['userfile']['name']);
//--- foto resize
imagecopyresized($resize, $source, 0, 0, 0, 0, $rs_breedte, $rs_hoogte, $breedte, $hoogte);
// foto opslaan
imagejpeg($resize, $path . $_FILES['userfile']['name']);
$image = imagecreatefromjpeg($path . $_FILES['userfile']['name']);
$size = getimagesize($path . $_FILES['userfile']['name']);
?>
<?php //--- achterhaal de eigenschappen van de foto list($breedte, $hoogte, $image_type) = getimagesize($path . $_FILES['userfile']['name']); //--- bepaal de verhouding tussen hoogte en breete $image_ratio = $hoogte / $breedte; //--- bereken op basis van de raio de nieuwe hoogte if($image_ratio > 1){ $rs_breedte = $user_breedte; $rs_hoogte = $user_breedte * $image_ratio; } else{ $rs_hoogte = $user_breedte; $rs_breedte = $user_breedte / $image_ratio; } //--- maak resize image aan in het geheugen $resize = imagecreatetruecolor($rs_breedte, $rs_hoogte); //--- bron om te resizen $source = imagecreatefromjpeg($path . $_FILES['userfile']['name']); //--- foto resize imagecopyresized($resize, $source, 0, 0, 0, 0, $rs_breedte, $rs_hoogte, $breedte, $hoogte); // foto opslaan imagejpeg($resize, $path . $_FILES['userfile']['name']); $image = imagecreatefromjpeg($path . $_FILES['userfile']['name']); ?>
wel aanpassingen nodig heb het gecopiëerd van een script dat ik gebruik om afbeeldingen te uploaden met gewenste grootte en watermerk.
Grtz.
|