Avatar billede dennism Nybegynder
09. januar 2006 - 13:59 Der er 1 kommentar og
1 løsning

PHP: resize af billede

Jeg har uploadet et billede til min server, og er nu interesseret i at ændre størrelsen på dette billede. Nogle af de billeder som brugerne uploader er nemlig over 2000pixels, og derfor vil jeg ændre på deres størrelse så de ikke fylder så meget på serveren. Desuden skal jeg også bruge et thumbnail.

Jeg har indtil videre (ved .jpg format) denne kode:
$imagetype = $_FILES['image']['type'];
copy($_FILES['image']['tmp_name'],"test.jpg");

$filename = 'test.jpg';
$percent = 0.5;

list($width, $height) = getimagesize($filename);
$newwidth = $width * $percent;
$newheight = $height * $percent;

$thumb = imagecreatetruecolor($newwidth, $newheight);
$source = imagecreatefromjpeg($filename);

imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);

Mit spørgsmål er nu, hvordan jeg får billedet gemt?
Avatar billede mose Nybegynder
09. januar 2006 - 14:23 #1
Du bruger 'imagejpeg'-funktionen (http://dk.php.net/manual/en/function.imagejpeg.php)

imagejpeg($thumb, "sti/til/din/fil.jpg");
Avatar billede dennism Nybegynder
10. januar 2006 - 16:53 #2
Tak. Hvordan kan jeg så sikre mig, at billedet får den rigtige størrelse? Der kan jo godt opstå problemer hvis højden og bredden ikke passer sammen.

Hvis jeg f.eks har et billede på 1001x500, og jeg vil formindste det til 100pixels, så kan bredden jo ikke deles med 10 ligesom højden kan. Hvordan løser man det problem? Kan man klippe i billedet?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester