Avatar billede straszek Praktikant
03. marts 2004 - 15:16 Der er 5 kommentarer og
1 løsning

problemer med image resize funktion

Jeg bruger nedestpende funktion til at resize billeder, men det ødelægger billederne. Er der nogen der kan hjælpe med at rette funtionen til, eller har kendskab til en anden funtkion?

Se et billede på:
http://www.skoleelever.dk/person.php?person=9

funktionen:
<?php

if (!$max_width)
  $max_width = 130;
if (!$max_height)
  $max_height = 190;

$size = GetImageSize($image);
$width = $size[0];
$height = $size[1];

$x_ratio = $max_width / $width;
$y_ratio = $max_height / $height;

if ( ($width <= $max_width) && ($height <= $max_height) ) {
  $tn_width = $width;
  $tn_height = $height;
}
else if (($x_ratio * $height) < $max_height) {
  $tn_height = ceil($x_ratio * $height);
  $tn_width = $max_width;
}
else {
  $tn_width = ceil($y_ratio * $width);
  $tn_height = $max_height;
}

$src = ImageCreateFromJpeg($image);
$dst = ImageCreate($tn_width,$tn_height);
ImageCopyResized($dst, $src, 0, 0, 0, 0,
    $tn_width,$tn_height,$width,$height);
header("Content-type: image/jpeg");
ImageJpeg($dst, null, -1);
ImageDestroy($src);
ImageDestroy($dst);

?>
Avatar billede wampiro-uha Nybegynder
03. marts 2004 - 15:20 #1
Prøv at ændre:

ImageJpeg($dst, null, -1);

til:

ImageJpeg($dst, null, 100);
Avatar billede wampiro-uha Nybegynder
03. marts 2004 - 15:20 #2
Skulle mene det sidste billede angiver kvaliteten. Normalt kan du have den på 85, uden du kan se forskel, men med et billede som fylder noget mindre!
Avatar billede 3xm Nybegynder
03. marts 2004 - 15:20 #3
i stedet for imagecreate() så brug imagecreatetruecolor();

=)
Avatar billede straszek Praktikant
03. marts 2004 - 15:26 #4
3xm, dit svar hjalp, giv et "svar" og du skal få point.
Avatar billede 3xm Nybegynder
03. marts 2004 - 15:29 #5
=)
Avatar billede 3xm Nybegynder
03. marts 2004 - 15:31 #6
hvis du også vil undgå pixeleringen, så brug imagecopyresampled() i stedet for imagecopyresized()

http://dk.php.net/manual/en/function.imagecopyresampled.php

=)
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