Avatar billede mrkaynex Nybegynder
18. juli 2009 - 21:49 Der er 5 kommentarer og
1 løsning

GD Lib assistance

Hejsa,

Lad os sige at man har 4 forskellige billeder der skal figuere som en person. Dvs. Top (hovede) - Midte (krop) - Bund (ben) og 4 billede kunne være fx briller der skal sidde foran øjnene.

Jeg tænker at det er relativt nemt at skulle sætte det op i CSS, så det ligner hvad det skal.

Og nu til mit egentlige spørgsmål : Er det muligt, at lave de 4 billeder, til ét enkelt billede via fx GDLib?

Kan man positionere diverse billeder med CSS og så med GDLib lave det til ét billede, eller skal man gribe det an på en helt andet måde?

På forhånd, tak!
Avatar billede mbm2016 Nybegynder
18. juli 2009 - 22:09 #1
Kig her: http://www.codewalkers.com/c/a/Miscellaneous/Overlapping-Images-with-GD/1/

Der er den kode du har brug for, jeg håber du selv kan positionere dine billeder med x og y værdier ;)
Avatar billede paaskehare Nybegynder
18. juli 2009 - 22:11 #2
Det kommer helt an på hvad det er du vil med det færdige billede, hvis det bare skal fremvises vil jeg holde mig langt fra GDlib og gøre det i css.

Men hvis du reelt skal bruge billedet, fx. gøre så brugeren kan gemme det, eller den selv gemmer det automatisk på serveren, så kan du godt gå til GDLib, men undgå det hvis du kan, for det er ikke et særlig pænt, og det er et rimelig heavy library :-)
Avatar billede mrkaynex Nybegynder
18. juli 2009 - 22:56 #3
mbm2007 @ det ser ud til at være det, ja =) Men har dog et par spørgsmål - kan man bruge det til flere billeder? Og kan man få det endelige billede med gennemsigtig baggrund?

paaskehare @ Ville gerne at kunne nøjes med CSS, men til det jeg skal bruge det til, er GDLib lidt uundgåeligt.
Avatar billede mbm2016 Nybegynder
19. juli 2009 - 11:29 #4
Ja man kan godt bruge det til flere billeder, jeg har ikke testet nedenstående kode, men prøv at brug den til inspiration hvis ikke den gør: (Og ja du skal bare definerer den gennemsigtige baggrund med imagecolortransparent())

<?php

  header ("Content-type: image/png");

  $background = imagecreate(500,500); // Definer  størrelsen på det endelige billede

/*
Definer alle de billeder der skal bruges
*/
  $insert1 = imagecreatefrompng("overlay1.png");
  $insert2 = imagecreatefrompng("overlay2.png");
  $insert3 = imagecreatefrompng("overlay3.png");

// Definer farven i RGB, som skal være gennemsigtig
  imagecolortransparent($insert1,imagecolorallocate ($insert1, 0, 0, 0));
  imagecolortransparent($insert2,imagecolorallocate ($insert2, 0, 0, 0));
  imagecolortransparent($insert3,imagecolorallocate ($insert3, 0, 0, 0));

$insert_x1 = imagesx($insert1);
$insert_y1 = imagesy($insert1);

$insert_x2 = imagesx($insert2);
$insert_y2 = imagesy($insert2);

$insert_x3 = imagesx($insert3);
$insert_y3 = imagesy($insert3);



  imagecopymerge($background,$insert1,0,0,0,0,$insert_x1,$insert_y1,100);
  imagecopymerge($background,$insert2,0,0,0,0,$insert_x2,$insert_y2,100);
  imagecopymerge($background,$insert3,0,0,0,0,$insert_x3,$insert_y3,100);


 
  imagepng($background,"",100);
?>
Avatar billede mrkaynex Nybegynder
28. juli 2009 - 22:54 #5
Det vil jeg da i hvert fald prøve. Er gået i stå med det lige nu, men jeg vil genoptage det når tiden falder.

Kan jeg få dig til at smide et svar?
Avatar billede mbm2016 Nybegynder
01. august 2009 - 14:00 #6
yes her er det :)
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