Ik heb deze php code geschreven, en opzich is er niets fouts aan, maar om een of andere reden stopt hij ermee na 255 pixels gekleurd te hebben.

<?php
error_reporting(E_ALL);
set_time_limit(0);
header("Content-type: image/png");
$im = imagecreate(600, 600)
or die("Cannot Initialize new GD image stream");
$background_color = imagecolorallocate($im, 0, 0, 0);

$i = 0;
$rgb = 155;
for ($x = 0; $x < 600; $x++) {
for ($y = 0; $y < 600; $y++) {
$color = imagecolorallocate($im, $rgb, $rgb, $rgb);
imagesetpixel($im, $x, $y, $color);
$i++;
}
}
imagepng($im);
imagedestroy($im);
?>

Een voorbeeld van de output
Ik heb het ook op andere groottes geprobeerd maar hij kapt altijd na 255 pixels, erg onlogisch :/
ik heb niet zon verstand van GD, maar:

for ($x = 0; $x < 600; $x++) {
for ($y = 0; $y < 600; $y++) {

Daar heb je het over $x en $y... moet je die niet eerst even definieren?

nog maals: ik heb niet ozn verstand van GD, dus het zou kunnen zijn dat dat al is 'ingesteld' bij GD.. maar dat is wat mij opvalt ;-)

edit:
o, nee.. in de for loop staat het al... oops :$

voor de rest weet ikk nix :-(
Ik krijg dezelfde uitput als DaeDaluz: PHP 5.1.4, kan niet zo gauw de fout vinden.
Het hangt van je GD versie af, misschien?
Hier versie 2.0.28.
Bij mij stopt het script niet bij 255, als ik de achtergrond kleur weghaal, dan werkt het wel goed.

GD versie: 2.0.28 compatible

Maar zo helpen wij DaeDaluz niet.
Maar ik snap het probleem niet zo goed, het plaatje dat ik op de site van Jan zie, is hetzelfde als het voorbeeld van DaeDaluz!?
$color = imagecolorallocate($im, $rgb, $rgb, $rgb);

Die staat binnen de for-lus, zou het kunnen zijn dat hij uitgaat van een gif-plaatje, en dat je dus maximaal maar 255 kleuren kan allocate'en?

Probeer je trouwens toevallig een soort alle-kleuren-van-de-regenboog scriptje te maken, maar dan in zwart-wit? :)
Het idee was om random plaatjes te laten generen met elke pixel een andere kleur, maar toen hij bleef steken op 255 pixels heb ik heb versimpeld om uit te zoeken waar de fout zat.

Ik zal morgen mijn GD wel updaten kijken of dat helpt :)

Reageren