Avatar billede dkklein Nybegynder
17. juli 2004 - 14:06 Der er 8 kommentarer og
1 løsning

Output gif

Jeg har et lille script der fra en folder med jpg's tager en tilfældig og outputter i browseren. Det virker fint, men nu vil jeg gerne lave det om så det anvender GIF's som input og laver et gif som output således at jeg kan anvende transparent baggrund.

<?php
$path = "d:/comments";

$handle=opendir($path);
while ($file = readdir($handle)) {
  if ($file != "." && $file != "..")  {
    if (strpos(strtoupper($file), ".GIF") > 0) {
      $jpgfiles [] = $file;
    }
  }


$image1 = $path . "/" . $jpgfiles[array_rand($jpgfiles)];
$im1 = imagecreatefromgif($image1);
$ix1 = imagesx($im1);
$iy1 = imagesy($im1);

$im = imagecreatetruecolor($ix1,$iy1);

imagecopy($im, $im1, 0,0,0,0,$ix1, $iy1);

Imagejpeg($im,'',100);
ImageDestroy ($im);
ImageDestroy ($im1); 

?>

Dette script virker således:

http://www.klein-jensen.dk/comments/randomcomment.php

og det jo fint på en hvid baggrund men det ser ikke så godt ud hvis det er postet således:

http://phpbb.klein-jensen.dk/viewtopic.php?p=73#73

Hvad skal jeg ændre ? Jeg har forsøgt at ændre

Imagejpeg($im,'',100);

til

Imagegif($im);

men det virker ikke.
Avatar billede 3xm Nybegynder
17. juli 2004 - 14:09 #1
du kan ikke outputte gif fra php pga. alt halløjet med gif-patenter. men brug php's png-funktioner i stedet (og gif-filer kan vist behandles som png). png har de samme gennemsigtighedsfeatures som gif - og så nogle flere. men det burde virke.

=)
Avatar billede dkklein Nybegynder
17. juli 2004 - 14:30 #2
Ok men hvordan så?

Eventuelt kan scriptet bare tage en kommentar fra et array i scriptet. Det er ren tekst jeg ønsker at outputte så det er ikke strengt nødvendigt at der læses en gif.
Avatar billede 3xm Nybegynder
17. juli 2004 - 14:32 #3
hvis du har teksten liggende et andet sted, så prøv evt. at lege med http://dk2.php.net/manual/en/function.imagestring.php

=)
Avatar billede dkklein Nybegynder
17. juli 2004 - 14:36 #4
Tekst delen er ikke et problem.

Hvordan laver jeg et png med gennemsigtig baggrund? Det er det jeg mangler.
Avatar billede thedeathart Nybegynder
17. juli 2004 - 14:36 #5
du skal også huske det rigtige header ( læs mere i manualen )
Avatar billede 3xm Nybegynder
17. juli 2004 - 14:39 #6
du gør den gennemsigtig med denne her: http://dk2.php.net/manual/en/function.imagecolorallocatealpha.php

sørg for at gøre den 100% gennemsigtig. ellers virker den ikke i ie.

=)
Avatar billede dkklein Nybegynder
17. juli 2004 - 14:46 #7
De 2 sidste henvisninger til manual hjælper ikke særlig meget!

Er det ikke muligt at I istedet for henvisninger til manualens eksempler anvender mit script foroven og viser hvad jeg skal ændre i det og hvor?
Avatar billede 3xm Nybegynder
17. juli 2004 - 14:50 #8
jo, men man lærer meget mere af selv at få det til at virke...

hvis din baggrund er hvid:
$gennemsigtig = imagecolorallocatealpha($im1, 255, 255, 255, 127);

=)
Avatar billede dkklein Nybegynder
17. juli 2004 - 15:01 #9
Har jeg forsøgt, virker ikke!

Det er formålsløst at spørge her.
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