Avatar billede soccoro Nybegynder
14. maj 2005 - 11:52 Der er 2 kommentarer og
1 løsning

Transparent billede bliver til sort (GDLib)

Hej alle eksperter,

jeg har siddet og kigget spørgsmålene igennem, da jeg er ved at begynde at arbejde lidt med GDLib i PHP. Jeg fandt følgende kode, som virker fint, således at jeg kan smide et "overlay-billede" ind på et allerede eksisterende billede:

    $imageGround = "nightclub.jpg";
    $imageOverlay = "edGnized.gif";
    $imageOutput = "edGnizedPicture.png";

    $size = getimagesize($imageGround);
    $pos_x = 0;
    $pos_y = $size[1] - 30;

    $im_ground = ImageCreateFromJPEG($imageGround);
    $im_overlay = ImageCreateFromGIF($imageOverlay);

    imagecopy($im_ground, $im_overlay, $pos_x, $pos_y, 0, 0, imagesx($im_overlay), imagesy($im_overlay));

    ImageJPEG($im_ground, $imageOutput);
    echo "<img src=\"" . $imageOutput . "\">";

Nu er det så sådan, at det billede, som jeg smider ind (.GIF billedet), som består af et logo og en transparent baggrund, bliver sort i stedet for gennemsigtigt.

Jeg har kigget et par spørgsmål igennem, men jeg har ikke kunne få de forskellige metoder til at virke. Er der nogle, som har et godt forslag til, hvordan man kan ordne dette?
Avatar billede soccoro Nybegynder
14. maj 2005 - 12:08 #1
Det skal måske lige siges, at der står følgende i PHP info-filen:

GD Version  bundled (2.0.28 compatible)
Avatar billede andy Nybegynder
15. maj 2005 - 16:33 #2
Hvis det er muligt ville jeg konvertere overlay logoet til png. Ved ikke om følgende virker for gifs:

Du skal definere hvilken farve der skal være transperant. Lad os antage det er hvid.
$white = imagecolorallocate($im_overlay, 255, 255, 255);
imagecolortransparent($im_overlay, $white);

Herefter kan du bruge imagecopy().

Anden mulighed er at benytte PNG-24 og alphablending:
imagealphablending($im_overlay, true);

Herefter kan du bruge imagecopy().
Avatar billede soccoro Nybegynder
27. august 2005 - 22:58 #3
Smider du et svar? Så får du points. Beklager den alt for lange svartid, men har ikke været på Eksperten siden!
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