> Hvordan styre jeg at billeder som er større, vises uden at xy
> forholdet i billedet ændres?
> Billeder som er mindre skal bare vises som de er.
Jeg bruger dette stykke kode - tillader mig at smide hele koden, da jeg ikke
kan huske, hvor jeg fandt den:
( kan dog smide ét link:
http://dk2.php.net/manual/en/function.imagecopyresampled.php )
$picstor = getimagesize($til); // $til er placeringen af det uploadede
billede - f.eks. "../billeder/upload256bord.jpg"
$bredde = $picstor[0];
$hoejde = $picstor[1];
if($bredde > 120) {
$nybredde = 120;
$nyhoejde = $hoejde * 120 / $bredde; // Sørger for, at højden også
skaleres tilsvarende
include("../funktion/skaler_pic.php"); // Se indholdet af
inkluderingsfilen længere nede
resize($til,$til, $nybredde, $nyhoejde); // Billedet resizes via
funktionen resize, som jeg har defineret i inkluderingsfilen
}
************** skaler_pic.php ****************
<?php
function resize( $filename, $newfilename, $maxw, $maxh )
{
$srcim = imagecreatefromjpeg( $filename );
$ow = imagesx( $srcim );
$oh = imagesy( $srcim );
$wscale = $maxw / $ow;
$hscale = $maxh / $oh;
$scale = ( $hscale < $wscale ? $hscale : $wscale );
$nw = round( $ow * $scale, 0 );
$nh = round( $oh * $scale, 0 );
$dstim = imagecreatetruecolor( $nw, $nh );
imagecopyresampled( $dstim, $srcim, 0, 0, 0, 0, $nw, $nh, $ow,
$oh );
imagejpeg( $dstim, $newfilename, 85 );
imagedestroy( $dstim );
imagedestroy( $srcim );
}
?>