Avatar billede sako Nybegynder
25. juli 2003 - 21:38 Der er 4 kommentarer og
1 løsning

resize med GDlib

Er der nogen der har et komplet script med opload funktion som resizer et billede til en bestemt størrelse. Hvis f.eks. billedet skal være 400 px bred - skal den selv regne højden ud
Avatar billede googolplex Novice
25. juli 2003 - 22:55 #1
Her er en funktion der resizer, som jeg havde liggende. Du kan prøve den:

function thumbnail($image_path, $thumb_path, $image_name, $thumb_width)
{
    $src_img = imagecreatefromjpeg("$image_path/$image_name");
    $origw = imagesx($src_img);
    $origh = imagesy($src_img);
    $new_w = $thumb_width;
    $diff = $origw/$new_w;
    $new_h = $new_w;
    $dst_img = imagecreate($new_w,$new_h);
    imagecopyresized($dst_img, $src_img, 0, 0, 0, 0, $new_w, $new_h, imagesx($src_img), imagesy($src_img));

    imagejpeg($dst_img, "$thumb_path/$image_name");
    return true;
}

Der er et godt upload script på:

http://www.webcafe.dk/artikler/php/upload/
Avatar billede sako Nybegynder
25. juli 2003 - 23:04 #2
jeg er ikke helt med på hvordan det virker....

uploader man først billedet - hvorefter man kører funktionen - eller sker det "on the fly" ??
Avatar billede martinbk Nybegynder
26. juli 2003 - 00:31 #3
function resizeImage($src_file, $dest_file, $newWidth)
{
// find the image size
$imginfo = @getimagesize($src_file);
if ($imginfo == NULL)
  return false;

// height/width
$srcWidth = $imginfo[0];
$srcHeight = $imginfo[1];

$ratioWidth = $srcWidth/$newWidth;
$ratioHeight = 0;
$destWidth = $newWidth;
$destHeight = $srcHeight / $ratioWidth;
$src_img = imagecreatefromjpeg($src_file);
$dst_img = imagecreatetruecolor($destWidth,$destHeight);
ImageCopyResampled($dst_img, $src_img, 0, 0, 0, 0, $destWidth,(int)$destHeight, $srcWidth, $srcHeight);
imagejpeg($dst_img, $dest_file, 100);
imagedestroy($src_img);
imagedestroy($dst_img); 
return $dest_file;
}

kald funktionen noget alla
$img = resizeImage("/fuld/path/til/source/billede.jpg", "fuld/path/til/destinations/billede.jpg", "400");
tallet 400 er den nye bredde på billedet kan jo bare ændres, højden beregner scriptet selv
Avatar billede martinbk Nybegynder
30. juli 2003 - 22:03 #4
ved at være lukketid.. du har fået 2 brugbare svar
Avatar billede sako Nybegynder
16. august 2003 - 10:33 #5
beklager der ikke har været lukket har været 3 uger i KBH :o)

Tak for svaret
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