phpbar.de logo

Mailinglisten-Archive

AW: [php] [RP] ttftext auf overlay-bild

AW: [php] [RP] ttftext auf overlay-bild

Dario Nuevo php at xbe.ch
Don Sep 4 18:17:23 CEST 2003


hi & danke harald

> hab keine ahnung ob es hilft, weiss auch nicht ob das da passt oder eh klar ist, aber wenn du auf jpg ein transparentes bild speichern willst, muss das das jpg vorher erlauben:
> 
> ImageAlphaBlending($imgfile_neu,true);

danke, hab die zeile mal eingefügt.. und es hat mich auf das 
hauptproblem gestossen: die positionsparameter (x,y) wurden nicht 
richtig übergeben und darum sah ich den text nicht.. angezeigt wurde 
er.. blamabel.. ;-(

ABER: obwohl ich den hintergrund des vorderen bildes transparent setze, 
seh ich den hintergrund nicht ;-( sprich das hintere bild sieht man 
nicht, was das ganze sehr unnütz macht ;-(

hier die funktion, welche das bild macht (leider bisschen dirty code..):

function mkimg() {
         $this->alpha = substr($this->font,0,1);
         $this->fontfile = 
"/opt/www/fontz-files/{$this->alpha}/".$this->font.".ttf";

         $this->pic = imagecreate(300,80);
         $this->fontcolor = $this->rgb2gd($this->fontcolor);

         $this->bgcolor = $this->rgb2gd("#CCCCCC");
         $this->bordercolor = $this->rgb2gd($this->bordercolor);

         imagefilledrectangle($this->pic, 0, 0, 
$this->width,$this->height, $this->bgcolor);
          imagecolortransparent($this->pic,$this->bgcolor);
         imagettftext($this->pic, $this->fontsize, $this->textangle, 
$this->start_x, $this->start_y, $this->fontcolor, $this->fontfile, 
$this->text);

         // overlay bild
         $im = imagecreatefrompng($this->imgtmpl);
         imagealphablending($im,true);

         imagecopymerge($im,$this->pic, 0, 0, 0, 0, 300, 80,100);
}

$this->pic ist das bild mit dem ttftext.. das mach ich mit einem grauen 
hintergrund voll und schreib dann den text darüber.. die graue farbe 
wird dann transparent gemacht. --> die seh ich auch nicht, also es ist 
transparent!

es klappt alles ausser das imagecopymerge(), welches einfach die 
transparenz zu ignorieren scheint und mich das bild hintendran nicht 
sehen lässt..?!

hm, geht vielleicht dieses alphablending nur mit einem jpeg?! sollte ich 
mal ein jpeg laden statt ein png?! mal schauen.. kann ich mir aber nicht 
vorstellen..


*totalratlossei*! ;-(
dario



php::bar PHP Wiki   -   Listenarchive