Toon posts:

[php] Plaatje genereren uit meerdere plaatjes

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een fotoboek waar verschillende mensen foto's kunnen uploaden. Nu wil ik van die foto's on-the-fly thumbnails genereren door in de code een script aan te roepen.
code:
1
2
3
4
5
<html>
<body>
[img]"make_thumb.php?image=foto.jpg">
</body>
</html[/img]

Hieronder is een groot gedeelte van het make_thumb script te zien en dat werkt.
PHP:
1
<?$size = @GetImageSize($image); $width = $size[0]; $height = $size[1]; $type = $size[2]; if ($type == 2){  header ("Content-type: image/jpeg");  $src = imagecreatefromjpeg("$image");  $im = imagecreate($newwidth,$newheight);  imagecopyresized($im,$src,0,0,0,0,$newwidth,$newheight,$width,$height);  imagejpeg($im);  imagedestroy($im);}?>

Hiermee wordt een mooie thumbnail gegenereert. Nu heb ik nog een ander plaatje (een soort border) wat ik graag voor dit plaatje plaats.
Is het mogelijk om dit m.b.v. php te realiseren. Het border-plaatje heeft een witte binnenring een daarin moet het andere plaatje geplaatst worden.

Je kunt in php een transparante kleur van een plaatje selecteren maar wanneer ik dat gebruik zie ik geen transparante kleur.

Weet iemand hier een oplossing voor.

  • Grum
  • Registratie: Juni 2001
  • Niet online
plaatjes in de juiste volgorde over elkaar plakken zou toch de oplossing zijn ? :p

Verwijderd

Topicstarter
Weet ik, en heb ik geprobeert maar het maakt geen verschil.
PHP:
1
<?$border_src = imagecreatefromjpeg("border.jpg");$im_border = imagecreate($newwidth,$newheight);imagecopyresized($im_border,$border_src,0,0,0,0,$newwidth,$newheight,$width,$height);// Kopieer border naar nieuwe image met juiste grootte$white = ImageColorAllocate ($im_border, 255, 255, 255);// Alloceer witte kleurImageColorTransparent($im_border, $white);// Dit zou de kleur wit in het border plaatje transparant moeten maken.ImageCopy($im,$border_im,0,0,0,0,$newwidth,$newheight); // Kopieer border over al bestaande thumbnailimagejpeg($im);imagedestroy($im);?>

Dit zou volgens mij gewoon moeten werken maar het werkt helaas niet en ik heb geen flauw idee waar het aan zou kunnen liggen.