Erik B. Skrevet 11. oktober 2007 Skrevet 11. oktober 2007 Jeg er 50% sikker på at dette er et tema som har hvert tatt opp flere ganger, jeg har søkt litt rundt på forumet og fant ikke helt det jeg lette etter. Problemstillingen min er følgende: Jeg trenger et resizing system hvor jeg kan bestemme en max bredde / høyde, bildene skal deretter bli resizet. uten at bildet blir forstrukket. Takker for henvisninger til kode eller forslag til framgangsmåte for å programmere dette. Takk for svar
Runar0 Skrevet 11. oktober 2007 Skrevet 11. oktober 2007 (endret) Det å resize eit bildet og samtidig oppretthalde den rette aspect ratioen krever litt kode. Under har du eit eksempel, eg har prøvd og kommentere mye: <?php $info = getimagesize($path); // $info[0] = original width, $info[1] = original height if($info[0] > $info[1]) // We got a wide image { $new_width = $width; // Calculate the ratio between new and old width $ratio = $width / $info[0]; // And use it to calculate the new height $new_height = floor($info[1]*$ratio); if($new_height > $height) // If the new height is larger then requested, we need to scale it even more down { $ratio = $height / $new_height; $new_height = $height; $new_width = floor($new_width*$ratio); } } else if($info[0] < $info[1]) // We got a high image, the same as a wide only based on the height ratio this time { $new_height = $height; $ratio = $height / $info[1]; $new_width = floor($info[0]*$ratio); if($new_width > $width) // The new width did not match the requested. Make the image even smaller { $ratio = $width / $new_width; $new_width = $width; $new_height = floor($new_height*$ratio); } } else // Square image { if($height < $width) // Height is smallest { $new_height = $height; $new_width = $height; } else if($height > $width) // Width is smallest { $new_height = $width; $new_width = $width; } else // Square requested { $new_height = $height; $new_width = $width; } } ?> Beklager engelske kommentarer Endret 11. oktober 2007 av Runar0
Erik B. Skrevet 11. oktober 2007 Forfatter Skrevet 11. oktober 2007 (endret) Mange takk Skal teste dette ut, men jeg et så finurlig problem at når jeg kopier koden din, tas det ikke hensyn til linjebrytninger i teksteditoren, og da blir det litt vanskelig å tolke koden. Finnes det et annet sted jeg kan kopiere den fra? (ot: må si diskusjon har blitt mer buggy siden sist). Edit: glem det, ff var løsningen. skal teste ut koden nå (: Endret 11. oktober 2007 av erixz
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå