Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » PHP » image-lib: transparente bilder

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
23.03.2004, 18:38 Uhr
gosub



huhu...

ich wollte gerne ein paar nicht-rechteckige (d.h. teilweise transparente) png-bilder auf einen hintergrund zaubern und daraus ein png generieren.

das klappt wunderbar, nur daß das kleine bild nicht transparent ist.

übrigens ist das kleine bild schon per photoshop transparent gespeichert, wird aber nicht transparent auf das hintergrundbild gepappt. das ist mein problem.

ich wollte die farbe des oberen, linken pixel auslesen (da der nie zum bild gehört, transparent ist), diese farbe dann für dieses bild transparent setzen.

dat jeht aber nich.

ausserdem soll es resized werden.

(wenn ich es nicht resizen müsste, wäre es übrigens transparent... kann sein, daß das irgendwie mit dem leer generierten $resized-image zusammenhängt...)

hier der code:


PHP 4:
<?php
header ("Content-type: image/png");
$assembild = imagecreatefromjpeg("background.jpg");
$insert = imagecreatefrompng("kleinesbild.png");
$resized = ImageCreatetruecolor (300, 650);

imagecopyresized ($resized , $insert, 0,0, 0,0, 100,296, 208,617);

imagecolortransparent($resized,imagecolorexact($resized,0,0,0));

imagecopy($assembild,$resized,0,0,0,0, 100,296);

ImagePNG ($assembild);
?>


--
"die obdachlosen? die sollen doch nach hause gehen, wo sie hingehören!"
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
07.05.2004, 21:36 Uhr
gosub



hab mir letztendlich selber helfen können durch rumprobieren und doku lesen... das problem hing daran, daß ich dachte, der unten genannte "$fullwidth/height"-teil würde sich auf den background beziehen.


PHP 4:
<?php
$gesamtbild = imagecreatefromjpeg("background.jpg");

// $pleft,$ptop - abstände des kleinen bildes vom rand des großen
// $width,$height - die gewünschte größe des insert-bildes
// $fullwidth,$fullheight - die originalgröße des insert-bildes

$insert = imagecreatefrompng("einzelbild.png");
imagecopyresized ($photoset , $insert, $pleft,$ptop, 0,0, $width,$height, $fullwidth,$fullheight);

// stream als http-header vorbereiten
header ("Content-type: image/png");
// bild in stream ausgeben
ImagePNG ($gesamtbild);

// cache ausleeren
imageDestroy($gesamtbild);
imageDestroy($insert);
?>


--
"die obdachlosen? die sollen doch nach hause gehen, wo sie hingehören!"
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
07.05.2004, 21:49 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


hehe dann passts ja jetzt
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ PHP ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: