Avatar billede hoejgaard Juniormester
26. juni 2005 - 22:46 Der er 13 kommentarer og
1 løsning

udsnit af gif billeder

Hej.
Jeg har følgende script fra www.php.net, som lige nu kun kan klare jpg billeder. Hvordan får jeg det til at kunne klare gif billeder og andre formater ??? :

<?php
// The file
$filename = "/customers/sti.dk/sti.dk/httpd.www/test/".$_GET['filnavn'];
$percent = 0.5; // if you want to scale down first
$imagethumbsize = 50; // thumbnail size (area cropped in middle of image)
// Content type
//header('Content-type: image/jpeg');

// Get new dimensions
list($width, $height) = getimagesize($filename);
if ($width<100 or $height<100) { 
$new_width = $width ;
$new_height = $height ; }
else {

$new_width = $width * $percent;
$new_height = $height * $percent;  }
// Resample
$image_p = imagecreatetruecolor($imagethumbsize , $imagethumbsize);  // true color for best quality
$image = imagecreatefromjpeg($filename);

// basically take this line and put in your versin the -($new_width/2) + ($imagethumbsize/2) & -($new_height/2) + ($imagethumbsize/2) for
// the 2/3 position in the 3 and 4 place for imagecopyresampled
// -($new_width/2) + ($imagethumbsize/2)
// AND
// -($new_height/2) + ($imagethumbsize/2)
// are the trick
imagecopyresampled($image_p, $image, -($new_width/2) + ($imagethumbsize/2), -($new_height/2) + ($imagethumbsize/2), 0, 0, $new_width , $new_width , $width, $height);

// Output

imagejpeg($image_p, null, 100);
?>
Avatar billede 44fire44 Nybegynder
26. juni 2005 - 23:23 #1
//header('Content-type: image/gif');
Avatar billede hoejgaard Juniormester
26. juni 2005 - 23:56 #2
nej det hjælper ikke
Avatar billede coderdk Praktikant
27. juni 2005 - 02:00 #3
Til jpeg:

$image_p = imagecreatetruecolor($imagethumbsize , $imagethumbsize);  // true color for best quality
$image = imagecreatefromjpeg($filename);

til GIF:

$image_p = imagecreate($imagethumbsize , $imagethumbsize);  // true color for best quality
$image = imagecreatefromgif($filename);

og til slut:

imagejpeg($image_p, null, 100);

for jpeg og dette for gif:

imagejpeg($image_p);
Avatar billede coderdk Praktikant
27. juni 2005 - 02:00 #4
Ja den sidste linje skulle jo have været:

imagegif($image_p);
Avatar billede hoejgaard Juniormester
27. juni 2005 - 13:15 #5
fint det virker, men hvordan får jeg spurgt på om det er en jpg eller en gif fil, og hvordan ser ovenstående ud med bmp og png og andre formater ??
Avatar billede coderdk Praktikant
27. juni 2005 - 13:18 #6
$info = getimagesize( $filename );
switch ( $info[2] )
{
  case 1:
    // gif
    break;
  case 2:
    // jpeg
    break;
  default:
    die( 'Ikke understøttet. Vi tager kun imod jpg og gif!' );
}


Se http://dk2.php.net/getimagesize :)
Avatar billede hoejgaard Juniormester
27. juni 2005 - 13:26 #7
Er det så dette $filename jeg skal benytte ?
$filename = "/customers/sti.dk/sti.dk/httpd.www/test/".$_GET['filnavn'];
Avatar billede hoejgaard Juniormester
27. juni 2005 - 13:35 #8
og da jeg ikke er så godt inde i  switch og case kan du så ikke indsætte min kode i ovenstående svar ??
Avatar billede coderdk Praktikant
27. juni 2005 - 13:38 #9
Ja, det er det $filename skal indeholde...

$info = getimagesize( $filename );
switch ( $info[2] )
{
  case 1:
    $image_p = imagecreate($imagethumbsize , $imagethumbsize);  // true color for best quality
    $image = imagecreatefromgif($filename);
    break;
  case 2:
    $image_p = imagecreatetruecolor($imagethumbsize , $imagethumbsize); 
    $image = imagecreatefromjpeg($filename);
    break;
  default:
    die( 'Ikke understøttet. Vi tager kun imod jpg og gif!' );
}

og til slut:

switch ( $info[2] )
{
  case 1:
    imagegif($image_p);
    break;
  case 2:
    imagejpeg($image_p, null, 100);
    break;
}
Avatar billede hoejgaard Juniormester
27. juni 2005 - 14:01 #10
fint det prøver jeg. Ved du evt. hvordan det ser ud med andre filnavne som bmp,png osv ??
Avatar billede coderdk Praktikant
27. juni 2005 - 14:04 #11
Stort set det samme som gif, så hedder det bare imagepng osv, og du kan se typerne i dokumentationen for getimagesize
Avatar billede hoejgaard Juniormester
27. juni 2005 - 14:27 #12
okay hvis billedet er på ca. 1MB så vises det ikke ?
Har det noget med serveren at gøre ??
Avatar billede coderdk Praktikant
27. juni 2005 - 15:18 #13
Det kan godt være - prøv en phpinfo() - se efter post_max_size og upload_max_filesize
Avatar billede hoejgaard Juniormester
27. juni 2005 - 16:45 #14
okay jeg har lige oprettet et andet spm , gider du checke det ??
http://eksperten.dk/spm/628840
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