problem mit ImageColorAllocate
Marc
- php
0 Christian Kruse0 Marc
Hallo Leute!
ich war etwas am rumprobieren, als ich auf folgenden fehler stoss... :-(
also ich habe einfach ein bisserl rumexperimentiert, als plötzlich der folgende fehler auftrat: plötzlich werden weiter unten keine neue farbedefinitionen mehr angenommen, sondern die textausgabe erfolgt leider nur in blau... (wieso überhaupt blau und nicht rot oder grün?? *g*)
<?
Header( "Content-type: image/png");
$im = imagecreate(175,175);
$r=44;
$g=109;
$b=175;
for ($i=0;$i<175;$i++) #23
{
$rr=$r-($i/2);
if($rr=0) $rr=0;
$gg=$g-($i/2);
if($rr=0) $rr=0;
$bb=$b-($i/2);
if($rr=0) $rr=0;
$xyz = ImageColorAllocate($im, $rr, $gg, $bb);
ImageLine($im,0,$i,175,$i,$xyz);
}
$color = ImageColorAllocate ($im, 128, 255, 128);
$text="Hello";
ImageTTFText ($im, 20, 5, 70, 70, $color, "dabomb.ttf", $text);
ImageTTFText ($im, 20, 25, 70, 70, $color, "dabomb.ttf", $text);
ImageTTFText ($im, 20, 45, 70, 70, $color, "dabomb.ttf", $text);
ImageTTFText ($im, 20, 65, 70, 70, $color, "dabomb.ttf", $text);
ImageTTFText ($im, 20, 85, 70, 70, $color, "dabomb.ttf", $text);
ImageTTFText ($im, 20, 105, 70, 70, $color, "dabomb.ttf", $text);
ImageTTFText ($im, 20, 125, 70, 70, $color, "dabomb.ttf", $text);
ImageTTFText ($im, 20, 145, 70, 70, $color, "dabomb.ttf", $text);
ImageTTFText ($im, 20, 165, 70, 70, $color, "dabomb.ttf", $text);
ImageTTFText ($im, 20, 185, 70, 70, $color, "dabomb.ttf", $text);
ImageTTFText ($im, 20, 205, 70, 70, $color, "dabomb.ttf", $text);
ImageTTFText ($im, 20, 225, 70, 70, $color, "dabomb.ttf", $text);
ImageTTFText ($im, 20, 245, 70, 70, $color, "dabomb.ttf", $text);
ImageTTFText ($im, 20, 265, 70, 70, $color, "dabomb.ttf", $text);
ImageTTFText ($im, 20, 285, 70, 70, $color, "dabomb.ttf", $text);
ImageTTFText ($im, 20, 305, 70, 70, $color, "dabomb.ttf", $text);
ImageTTFText ($im, 20, 325, 70, 70, $color, "dabomb.ttf", $text);
ImageTTFText ($im, 20, 345, 70, 70, $color, "dabomb.ttf", $text);
#######AB HIER WERDEN DIE FARBEN $COLOR NIMMER ÜBERNOMMEN!TEXT WIRD IN BLAU GESCHRIEBEN!#########
$color=imagecolorAllocate($im,255,128,255);
ImageTTFText ($im, 20, 5, 70, 70, $color, "dabomb.ttf", $text);
$color=imagecolorAllocate($im,225,98,225);
ImageTTFText ($im, 21, 6, 71, 70, $color, "dabomb.ttf", $text);
$color=ImageColorAllocate($im,195,68,195);
ImageTTFText ($im, 22, 7, 72, 70, $color, "dabomb.ttf", $text);
$color=ImageColorAllocate($im,165,38,165);
ImageTTFText ($im, 23, 8, 73, 70, $color, "dabomb.ttf", $text);
$color=ImageColorAllocate($im,135,8,135);
ImageTTFText ($im, 24, 9, 74, 70, $color, "dabomb.ttf", $text);
ImagePng($im);
ImageDestroy($im);
?>
MFG Marc
Hiho,
also ich habe einfach ein bisserl rumexperimentiert, als plötzlich der folgende fehler auftrat:
plötzlich werden weiter unten keine neue farbedefinitionen mehr angenommen, sondern die
textausgabe erfolgt leider nur in blau... (wieso überhaupt blau und nicht rot oder grün?? *g*)
[...]
$rr=$r-($i/2);
if($rr=0) $rr=0;
$gg=$g-($i/2);
if($rr=0) $rr=0;
$bb=$b-($i/2);
if($rr=0) $rr=0;
Nun, ganz einfach: wegen der if's.
if($var = 0) setzt $var auf 0 und returned True.
Richtigerweise hiesse es if($var == 0) $var = 0; wobei das eigentlich relativ sinnlos ist. Wenn eine
Variable 0 ist, muss sie doch nicht erst auf 0 gesetzt werden?
Also einfach die Schleife umaendern in
$rr = $r - $i / 2;
$gg = $g - $i / 2;
$bb = $b - $i / 2;
Richtig, die Klammern sind auch nicht noetig. / hat eine hoehere Bindung als - (Punkt vor Strich
;-)
Gruss,
Christian
http://wwwtech.de
chr(ord($1)-5):chr(ord($1)-3))sieg;s s^s$_see;
__END__
uwlsy%*Sr%kqdphv%yr%AFN4%dy%zzzyhfm3ihC*1'as'>
Hi! :-)
$rr=$r-($i/2);
if($rr=0) $rr=0;
$gg=$g-($i/2);
if($rr=0) $rr=0;
$bb=$b-($i/2);
if($rr=0) $rr=0;
sorry, aber da soltle eigentlich ein kleiner als null stehen...
also wie folgt... *g*
$rr=$r-($i/2);
if($rr<0) $rr=0;
$gg=$g-($i/2);
if($rr<0) $rr=0;
$bb=$b-($i/2);
if($rr<0) $rr=0;
Zuerst mal vielen Dank für deine vielen Tipps! :-)
Jedoch bringt es mich der lösung überhaupt nicht weiter, denn als ich die modifikationen vorgenommen hab, sah es immer noch gleich aus... :-(
<img src="http://marcoweber.purespace.de/images/bild2.png" border=0 alt="">
wieso werden die farben in diesem teil nimmer übernommen??
#######AB HIER WERDEN DIE FARBEN $COLOR NIMMER ÜBERNOMMEN!TEXT WIRD IN BLAU GESCHRIEBEN!#########
$color=imagecolorAllocate($im,255,128,255);
ImageTTFText ($im, 20, 5, 70, 70, $color, "dabomb.ttf", $text);
$color=imagecolorAllocate($im,225,98,225);
ImageTTFText ($im, 21, 6, 71, 70, $color, "dabomb.ttf", $text);
$color=ImageColorAllocate($im,195,68,195);
ImageTTFText ($im, 22, 7, 72, 70, $color, "dabomb.ttf", $text);
$color=ImageColorAllocate($im,165,38,165);
ImageTTFText ($im, 23, 8, 73, 70, $color, "dabomb.ttf", $text);
$color=ImageColorAllocate($im,135,8,135);
ImageTTFText ($im, 24, 9, 74, 70, $color, "dabomb.ttf", $text);
MFG Marc