Avatar billede cmau Nybegynder
17. februar 2005 - 20:55 Der er 16 kommentarer og
1 løsning

Sæt en ramme på billeder.

Hejsa!

Jeg søger et system, hvor jeg har fx dette billede http://woox.dk/billede.jpg og en ramme, som denne http://woox.dk/ramme.jpg. Så søger jeg en kode som gør det hvide i rammen gennemsigtigt og sætter det hen over billede.jpg, så det kommer til at se sådan her ud http://woox.dk/lavet.jpg også gemmer billedet, med navnet lavet.jpg, på serveren.
Avatar billede coderdk Praktikant
17. februar 2005 - 21:18 #1
Rammen skal være GIF eller PNG (foretrukkent) og den hvide skal være transparent, og så kan du tilpasse dette:

$pic = 'billede.jpg';
$ramme = 'ramme.png';
$nytpic = 'nytbillede.jpg';
$pich = imagecreatefromjpeg( $pic );
imagealphablending( $pich, false );
$rammeh = imagecreatefrompng( $ramme );
$w = imagesx( $rammeh );
$h = imagesy( $rammeh );
imagecopy( $pich, $rammeh, 0, 0, 0, 0, $w, $h );
imagejpeg( $pich, $nytpic, 90 );
imagedestroy( $pich );
imagedestroy( $rammeh );

;)
Avatar billede cmau Nybegynder
17. februar 2005 - 21:22 #2
Tror du at du kunne lave den til png transparent? Har ikke prøvet med Png før :/ kan kun med gif
Avatar billede cmau Nybegynder
17. februar 2005 - 21:24 #3
Fik selv lavet png.. var åbenbart ikke svært, men den laver billedet sådan her: http://kdp.users.whitehat.dk/animator/nytbillede.jpg
Avatar billede cmau Nybegynder
17. februar 2005 - 21:25 #4
Altså den laver billedet i billede.jpg's størrelse. Den skal være i ramme.png's størrelse 130x126 px.
Avatar billede cmau Nybegynder
17. februar 2005 - 21:55 #5
Jeg havde faktisk også en anden ting jeg gerne vil have.. hvis nu jeg smed et billede på fx 230x220 ind så skulle den først resize det til 126x122 px også bagefter smælte det sammen med rammen!
Avatar billede coderdk Praktikant
17. februar 2005 - 22:13 #6
Billederne skal jo være lige store ;)
Avatar billede coderdk Praktikant
17. februar 2005 - 22:16 #7
Men ok, prøv:

$pic = 'billede.jpg';
$ramme = 'ramme.png';
$nytpic = 'nytbillede.jpg';
$pich = imagecreatefromjpeg( $pic );
$rammeh = imagecreatefrompng( $ramme );
$pw = imagesx( $pich );
$ph = imagesy( $pich );
$w = imagesx( $rammeh );
$h = imagesy( $rammeh );
$newone = imagecreatetruecolor( $w, $h );
imagecopy( $newone, $pich, 0, 0, 0, 0, $pw, $ph )
imagealphablending( $newone, false );
imagecopy( $newone, $rammeh, 0, 0, 0, 0, $w, $h );
imagejpeg( $newone, $nytpic, 90 );
imagedestroy( $pich );
imagedestroy( $newone );
imagedestroy( $rammeh );
Avatar billede cmau Nybegynder
17. februar 2005 - 22:21 #8
Får fejl:

Parse error: parse error in /usr/home/whitehat_dk/users/kdp/animator/maker.php on line 13
Avatar billede cmau Nybegynder
17. februar 2005 - 22:23 #9
Denne linje: imagealphablending( $newone, false );
Avatar billede coderdk Praktikant
17. februar 2005 - 22:37 #10
Linjen før mangler et ;
Avatar billede cmau Nybegynder
17. februar 2005 - 22:43 #11
Kunne det så blive sådan at hvis jeg nu brugte et billede der var større end 126x122. fx jeg havde et bilelde på 230x220 så skulle den først lave det billede til 126x122 også bagefter smælte det sammen, som jeg skrev før. Kan det gøres?
Avatar billede coderdk Praktikant
17. februar 2005 - 22:47 #12
Jeps, ædr:

imagecopy( $newone, $pich, 0, 0, 0, 0, $pw, $ph )

til:

imagecopyresampled( $newone, $pich, 0, 0, 126, 122, $pw, $ph )
Avatar billede coderdk Praktikant
17. februar 2005 - 22:47 #13
Ændr*
Avatar billede cmau Nybegynder
17. februar 2005 - 22:49 #14
Denne kode:

<?
$pic = 'billede.jpg';
$ramme = 'ramme.png';
$nytpic = 'nytbillede.jpg';
$pich = imagecreatefromjpeg( $pic );
$rammeh = imagecreatefrompng( $ramme );
$pw = imagesx( $pich );
$ph = imagesy( $pich );
$w = imagesx( $rammeh );
$h = imagesy( $rammeh );
$newone = imagecreatetruecolor( $w, $h );
imagecopyresampled( $newone, $pich, 0, 0, 126, 122, $pw, $ph );
imagealphablending( $newone, false );
imagecopy( $newone, $rammeh, 0, 0, 0, 0, $w, $h );
imagejpeg( $newone, $nytpic, 90 );
imagedestroy( $pich );
imagedestroy( $newone );
imagedestroy( $rammeh );
?>

Giver denne fejl:

Warning: Wrong parameter count for imagecopyresampled() in /usr/home/whitehat_dk/users/kdp/animator/maker.php on line 12
Avatar billede coderdk Praktikant
17. februar 2005 - 22:51 #15
Ændr:

imagecopyresampled( $newone, $pich, 0, 0, 126, 122, $pw, $ph )

til:

imagecopyresampled( $newone, $pich, 0, 0, 0, 0, 126, 122, $pw, $ph )
Avatar billede cmau Nybegynder
17. februar 2005 - 22:52 #16
Så virker det!! Tusind tak endnu engang for din hjælp!
Avatar billede coderdk Praktikant
17. februar 2005 - 22:53 #17
;)
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