Avatar billede syswatch Novice
14. oktober 2003 - 13:12 Der er 7 kommentarer og
2 løsninger

Resize billeder med GD

Hejsa..
Jeg er ved at lave et script der resizer alle filer i en mappe. Jeg er dog kommet i problemer med GD, da jeg aldrig har arbejdet med GD før.
Det jeg har brug for er et script der tager alle eksisterende filer og overskriver dem med den nye size.

fx. et 1024 billede bliver resized til 500 og gemt i samme fil. Men den skal blive ved med alle filerne i mappen.
Nogen der har forslag til dette ??
Avatar billede zeled Nybegynder
14. oktober 2003 - 13:39 #1
vil du have mit webalbum ?
Avatar billede syswatch Novice
14. oktober 2003 - 13:54 #2
Nej, jeg har ikke brug for et webalbum, bare koden til at resize billeder med. Så skal jeg nok selv klare resten....
Avatar billede avminarm Juniormester
14. oktober 2003 - 14:18 #3
her er et snip der henter billedet fra en database, men det skulle være til at lave om ret let:

$height = 200;
  $width = 200;

  $picid=addslashes($_GET['id']);

  $result=mysql_query("select billede from billede where id='$picid'") or die (mysql_error());
  while($row = mysql_fetch_array($result)){
  header('Content-Type: image/jpeg');

  $src_img = imagecreatefromstring($row['billede']);
  $dst_img = imagecreatetruecolor($width, $height);
  imagecopyresampled($dst_img, $src_img, 0,0,0,0, $width,$height, imagesx($src_img), imagesy($src_img));
  imagejpeg($dst_img);
  }
Avatar billede avminarm Juniormester
14. oktober 2003 - 14:20 #4
noget i den her stil:

height = 200;
  $width = 200;

  $pic = "mit_billede.jpg";
  header('Content-Type: image/jpeg');

  $src_img = imagecreatefromstring($pic);
  $dst_img = imagecreatetruecolor($width, $height);
  imagecopyresampled($dst_img, $src_img, 0,0,0,0, $width,$height, imagesx($src_img), imagesy($src_img));
  imagejpeg($dst_img);
Avatar billede syswatch Novice
14. oktober 2003 - 14:36 #5
avminarm: Gemmer dette script det resizede billede i samme fil ? Den skal ikke vise billederne, men kun resize og gemme...
Avatar billede avminarm Juniormester
14. oktober 2003 - 15:29 #6
denne stump resizer kun - imagejpeg($dst_img); = det "nye" billede
Avatar billede hoell Nybegynder
15. oktober 2003 - 01:58 #7
Hej måske denne tutorial kan hjælpe??

http://www.phpfreak.com/tutorials/111/0.php

Den bskriver, hvordan man laver thumbnails med GD. Har ikke selv prøvet lige denne her tutorial, men nogle af de andre på phpfreak, og de er supergode.
Avatar billede hurra Novice
15. oktober 2003 - 20:57 #8
Det her er vist ca hvad du søger, Billedet bliver skaleret uden at blive strukket:
function JPGscale($fil, $updir, $width, $height)
{
    $var1 = substr ($fil, -4);
    $var2 = ".jpg";
    if (!strcasecmp($var1, $var2))
    {
        $src_img = imagecreatefromjpeg("$updir/$fil");

        //Skaler billed
        if((imagesx($src_img)/$width) < (imagesy($src_img)/$height))
            $width = $height*imagesx($src_img) /imagesy($src_img);
        else
            $height = $width*imagesy($src_img) /imagesx($src_img);

        //kopier billed
        $dst_img = imagecreate($width, $height);
        imagecopyresized($dst_img, $src_img, 0,0,0,0,$width, $height, imagesx($src_img), imagesy($src_img));
        imagejpeg($dst_img, "$updir/$fil");
    }
    else
    {
        die ("<font color='red'><b>FAILED</b></font>");
    }   
}
Avatar billede syswatch Novice
10. november 2003 - 12:37 #9
hurra: Alt virker fint, men den laver billederne om til sort/hvid (gråtoner)...
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