Re: Problem mit imagecolorallocate()
Gökce Aydos schrieb:
> ich bekomme mit diesem Code[1] ein fehlerhaftes Bild[hinzugefügt]. Woran
> könnte denn der Fehler liegen, dass das Bild nicht vollstaendig
> gezeichnet wird?
Erstens ist es böse, im Usenet Attachments anzuhängen (von ganz wenigen
Binärgruppen abgesehen). Das wird gar nicht gerne gesehen. Besser ist
es, solche Dateien im Web bereit zu stellen und hier einen Link zu posten.
Zweitens ist es auch ziemlich sinnlos, da viele Provider solche
Attachments gar nicht erst weiterleiten. Manche filtern sogar die
komplette Nachricht aus.
> [1]: http://phpfi.com/264222
Drittens solltest Du den Code hier posten, wenn Du möchtest, dass wir
ihn uns anschauen.
Gruß. Claus
Re: Problem mit imagecolorallocate()
Claus Reibenstein wrote:
[..]
Sorry und vielen Dank für deine Hinweise. Ich werde in der Zukunft auf
diese achten,wenn ich nochmal poste.
Also nochmal:
ich bekomme mit diesem Code ein fehlerhaftes Bild. Woran könnte denn der
Fehler liegen, dass das Bild nicht vollstaendig gezeichnet wird?
<?php
$image = imagecreate(100,100);
//imagefill($image,100,100,imagecolorallocate($image,0,0,0)) ;
for($i=0; $i<100; ++$i){
for($p=0; $p<100; ++$p){
$temp = imagecolorallocate($image, mt_rand(0,255),
mt_rand(0,255), mt_rand(0,255));
//if($temp = -1) break;
imagesetpixel($image, $i, $p, $temp);
}
}
header("Content-type: image/png");
imagepng($image);
imagedestroy($image);
?>
und hier das Ergebnisbild
http://img2.freeimagehosting.net/uploads/0fe5939553.png
Grüsse,
Gökce
Re: Problem mit imagecolorallocate()
Gökce Aydos schrieb:
> $image = imagecreate(100,100);
imagecreate() erzeugt ein paletten-basiertes Image, hat also maximal 256
Farben. Versuch's mal mit imagecreatetruecolor().
> //imagefill($image,100,100,imagecolorallocate($image,0,0,0)) ;
>
> for($i=0; $i<100; ++$i){
> for($p=0; $p<100; ++$p){
> $temp = imagecolorallocate($image, mt_rand(0,255),
> mt_rand(0,255), mt_rand(0,255));
Hier versuchst Du, 10.000 Farben zu allokieren.
> //if($temp = -1) break;
Wenn Du obige Zeile wieder aktivierst ...
> imagesetpixel($image, $i, $p, $temp);
> }
> }
.... und Dir hier $i und $p einmal ausgeben lässt, dürftest Du für $i 2
und für $p 56 erhalten.
Gruß. Claus
Re: Problem mit imagecolorallocate()
Claus Reibenstein schrieb:
> G=C3=B6kce Aydos schrieb:
>
>> $image =3D imagecreate(100,100);
>
> imagecreate() erzeugt ein paletten-basiertes Image, hat also maximal 25=
6
> Farben. Versuch's mal mit imagecreatetruecolor().
Yupp, daran liegtes.
http://www.irixworld.net/php/examples/gd/random_colors.php
Gruss
Joerg
--
TakeNet GmbH, Geschaeftsfuehrer Wolfgang Meier
97080 Wuerzburg Tel: +49 931 903-2243
Alfred-Nobel-Stra=C3=9Fe 20 Fax: +49 931 903-3025
HRB Wuerzburg 6940 http://www.takenet.de