Avatar billede ofirpeter Nybegynder
10. juli 2006 - 10:25 Der er 7 kommentarer og
1 løsning

Problemer med resize og gif filer

Hej, jeg er lidt løbet mod en mur i mit forsøg på at lave thums af nogle billeder i php. Det fungerer fint med jpeg filer, men når det kommer til f.eks. gif filer lykkes det (selvfølgelig ikke) med dette script:

<?PHP
/************************************************
*                                                *
*        Author: Thomas Larsen                    *
*        This script is resizing Pictures        *
*        E-Mail: Tlarsen@pc-dk.dk                *
*                                                *
************************************************/       

//Info om gammelt billede
//Henter billede her

$pic = "billeder/pic_1.gif";   


$thumb = 'thumbslogo.jpg';    //Billede der skal skrives til

//Henter størrelsen på billedet her og lægger det i et array
$size = getimagesize($pic);

//Udskrive størrelserne på billedet
echo "<br />" .$size[0]. "<br />";    //Width
echo "" .$size[1]. "<br />";            //Height

//finder nye størrelser
 
$new_width = $size[0] * 20 /100;    //Gør billede width 20% mindre
$new_height = $size[1] * 20 /100;    //Gør billede height 20% mindre
 

$pic_1 = imagecreatefromjpeg($pic);
$dest = imagecreate($new_width, $new_height);

imagecopyresized($dest, $pic_1, 0, 0, 0, 0, $new_width, $new_height, $size[0], $size[1]);
imagejpeg($dest,$thumb);


// Vis vha html
echo '<img src="'.$thumb.'">';
?>


Hvad er mine muligheder for at kunne konvertere f.eks. gif på samme måde?
Avatar billede gizmo-gizmo Nybegynder
10. juli 2006 - 10:34 #1
I stedet for imagecreatefromjpeg() skal du bruge imagecreatefromgif() når der er tale om et gif-billede.

Så det er nok en god idé lige at tjekke hvilken filtype der er tale om, så bruge den rette funktion derefter.
Avatar billede ofirpeter Nybegynder
10. juli 2006 - 10:42 #2
Okay, hvorfor taler alle så om GDlib, hvad er det smarte ved det?
Avatar billede gizmo-gizmo Nybegynder
10. juli 2006 - 11:06 #3
Det er da stadig smart ;) du kan vel bare lave noget a la:
if ($size[2] == "JPG")
{
  $pic_1 = imagecreatefromjpeg($pic);
}
elseif ($size[2] == "GIF")
{
  $pic_1 = imagecreatefromgif($pic);
}
Avatar billede ofirpeter Nybegynder
10. juli 2006 - 11:40 #4
Det er måske i virkeligheden GDlib jeg bruger nu eller hvad :)
Avatar billede gizmo-gizmo Nybegynder
10. juli 2006 - 11:46 #5
Yep :-)  imagecreatefromxxx, imagecopyresized, imagejpeg er funktioner der kun fungerer hvis GD er enabled.
Avatar billede ofirpeter Nybegynder
10. juli 2006 - 12:13 #6
Super :) Mange tak, jeg blev klogere.
Avatar billede gizmo-gizmo Nybegynder
10. juli 2006 - 12:20 #7
Np :-)
Avatar billede ofirpeter Nybegynder
13. juli 2006 - 14:49 #8
Smider du et svar?
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