Image >> text einfügen >> falsche farben

Sway

Erfahrenes Mitglied
Hi, ich hab mich gerade mit der Imagefunktion beschäftigt und hänge nun an einer Stelle.

PHP:
<?php
header("Content-type: image/png");
$image = imagecreatefromjpeg("image.jpg"); 
$black = imagecolorallocate( $image, 0,0,0);
$fontsize = 20;
$font = "/homepages/17/d19405753/htdocs/test/jd.ttf";
$text = "test text";
imagettftext( $image, $fontsize, 0, 50, 450 , $black, $font, $text);
imagepng($image);
imagedestroy($image)
?>

Die Farbe ist aber nicht schwarz auf dem Bild, sondern wirkt so, als ob es aus dem Bild kommt... ich hab mal ein Bildausschnitt angehängt
 

Anhänge

  • beispiel.jpg
    beispiel.jpg
    13 KB · Aufrufe: 474
ähm? Wie bitte? Also ich seh "test text" auf dem schwarzen Hintergrund. Ich hab extra das auf den dunklen Hintergrund gelegt, damit man es deutlich sieht. Der Text hat keine gleichmäßige farbe und ist auch nicht schwarz.

Selbst wenn ich 255,255,255 nehme, ändert sich nix. Der Ignoriert meine Farbanweisung total.
 
Hi,

das gleiche Problem habe ich auch.

Ich versuche in ein Bild das größtenteils blau und gelb ist, etwas reinzuschreiben, aber egal welche Farbe ich mit imagecolorallocate() definiere, er zeichnet alles grünlich-türkis.

Das ist zumindest das, was passiert, wenn ich das Skript bei meinem Provider hochlade. Der hat nur GD 1.6.+ installiert. Bei mir zuhause habe ich GD 2.0.+ und dasselbe Skript erzeugt einwandfreie Farben, alle so wie ich sie definiert habe.

Liegt das an tatsächlich der GD-Version? Gibt es da Abhilfe?

antero
 
Das Problem hab ich immer noch, ebenfalls mit der 1.6er Version. Die 2er hab ich net getestet, aber das wird mir auch net weiterhelfen. Will es schließlich auf dem Server zum laufen bekommen
 
Hallo,

Das sollte so funktionieren.

Bitte
PHP:
$font = $_SERVER["DOCUMENT_ROOT"] . "/arial.ttf";
bei dir anpassen.

PHP:
header("Content-type: image/jpeg");
$bild  = "image.jpg";
$thumb_groesse = 1;
$im_src = imagecreatefromjpeg("$bild");
    $size = getimagesize ($bild);
    $breite = $size[0];
    $hoehe = $size[1];
    $thumb_breite=$breite*$thumb_groesse;
    $thumb_hoehe =$hoehe*$thumb_groesse;
$im_des = imagecreate ($thumb_breite, $thumb_hoehe); 
$black = imagecolorallocate($im_des, 0,0,0);
$fontsize = 20;
imagecopyresized($im_des, $im_src, 0, 0,0,0, $thumb_breite,$thumb_hoehe,$breite,$hoehe);

$font = $_SERVER["DOCUMENT_ROOT"] . "/arial.ttf";
$text = "test text";
imagettftext($im_des, $fontsize, 0, 50, 450 , $black, $font, $text);
    imagejpeg ($im_des,'',100);

    imagedestroy ($im_des);
    imagedestroy ($im_src);

Ein paar fehler waren auch bei dir drin.

Allein der header da steht png und du gibst ein jpeg aus.

Probiere es mal aus.

Viel Spass

euer SaTaN
 
teste das mal.
soweit ich weiss ist der erste Aufruf von imagecolloralocate auf den Hintergrund bezogen egal ob du ihn zuweist oder nicht...
PHP:
<?php
header("Content-type: image/png");
$image = imagecreatefromjpeg("image.jpg"); 
$background = imagecolorallocate( $image, 0xFF,0xFF,0xFF);
$black = imagecolorallocate( $image, 0x00,0x00,0x00);

$fontsize = 20;
$font = "/homepages/17/d19405753/htdocs/test/jd.ttf";
$text = "test text";
imagettftext( $image, $fontsize, 0, 50, 450 , $black, $font, $text);
imagepng($image);
imagedestroy($image)
?>

achso hier ne Funktion die du auch nutzen kannst dann kannste Hexadezimal also CC FF usw.. nutzen.
ist nur ne ganz ganz simple funktion...
PHP:
function makeColor($im,$red,$green,$blue){
     $r = "0x$red";
     $g = "0x$green";
     $b = "0x$blue";
     return imagecolloralocate($im,$r,$g,$b);
}

$red = makeColor($image,"FF,"00","00");
 
Zuletzt bearbeitet:
Hallo...

ich hab auch ein Problem mit den Imagefunktionen... sie werden nicht unterstützt, obwohl GD enabled ist auf dem Server...

GD Version 1.6.2 or higher

kann mir jemand Helfen?


Thanks & Greetz

DoRiMaN
 
Mal ne Frage bezüglich der Schrift-Farbe oder wie auch immer ich das nenen soll...
denn eine Farbe will ich nicht wirklich wissen sonder, wie man es zb 50%Tranparten machet ;)
 
Zurück