Farbverlauf im Balkendiagramm

Hallo zusammen,

ich benötige ein Balkendiagramm und versuche die Balken mit Farbverlauf hinzubekommen.

Es würde genügen, wenn zwei Farben (blau, weiß) von außen nach innen verlaufen.

Geht das ohne zusätzliche Bibliothek?

Gruß

jo geht mit standrd php gd

http://www.tutorials.de/php/226056-linearer-farbverl…

Hallo und danke für die Antwort,

dein Beispiel hat mir schon sehr geholfen. Ich hab’ den Code für mich so umgeschrieben. Die erste Farbe beginn mit RGB-Farbcode 11,39,68 und geht dann ins weiße. Stellt sich für mich nur die Frage, ob man den Balken noch weiter strecken könnte? Momentan ist er halt recht kurz.

<?php header ("Content-type: image/png");
$image = imagecreatetruecolor(1000, 1000); Imagefill($image,0,0,16777215); for ($i=0; $i\<255; $i++) { $farbe = ImageColorAllocate($image,MIN(255,11+$i),MIN(255,39+$i),MIN(255,68+$i)); imageline($image, 900, $i+100, 1000, $i+100, $farbe); } imagePNG($image); imagedestroy($image); ?\> Gruß

Hab’s hingebkommen
Hallo,

hab’s selbst hinbekommen. Die Streifen werden nicht mehr horizontal sondern vertikal generiert, was mehr Höhe bringt. Trotzdem danke!

<?php header ("Content-type: image/png");
$image = imagecreatetruecolor(1000, 1000); Imagefill($image,0,0,16777215); for ($i=0; $i\<190; $i++) { #RGB-Farben haben werden im Bereich von 0 - 255 pro Farbe zusammengesetzt, deshalb darf in der folgenden Zeile nicht über 255 hinaus- #gegangen werden, was mit der MIN-Funktion erreich wird. $farbe = ImageColorAllocate($image,MIN(240,11+$i),MIN(240,39+$i),MIN(240,68+$i)); #imageline($image, 900, $i, 1000, $i, $farbe); imageline($image, $i+400, 200, $i+400, 700, $farbe); } imagePNG($image); imagedestroy($image); ?\>

Danke

Doch noch ne Frage!
Hallo nochmal,

jetzt ist mir noch etwas aufgefallen, was ich noch nicht verstehe.

Ich habe vier Balken eingefügt. Wenn ich in imagecreatetruecolor die Größe von (1000, 1000) auf (1500, 1500) ändere werden die vier Balken kleiner.

Wie kann das sein?

Der rechte Balken wird zwar bei (1000,1000) abgeschnitten, aber das ist nicht weiter wichtig.

Hier nochmal der Code.

<?php header ("Content-type: image/png");
$image = imagecreatetruecolor(1000, 1000); Imagefill($image,0,0,16777215); for ($i=0; $i\<190; $i++) { #RGB-Farben haben werden im Bereich von 0 - 255 pro Farbe zusammengesetzt, deshalb darf in der folgenden Zeile nicht über 255 hinaus- #gegangen werden, was mit der MIN-Funktion erreich wird. $farbe = ImageColorAllocate($image,MIN(240,11+$i),MIN(240,39+$i),MIN(240,68+$i)); imageline($image, $i+100, 200, $i+100, 700, $farbe); imageline($image, $i+350, 200, $i+350, 700, $farbe); imageline($image, $i+600, 200, $i+600, 700, $farbe); imageline($image, $i+850, 200, $i+850, 700, $farbe); } imagePNG($image); imagedestroy($image); ?\>

Hallo nochmal,

jetzt ist mir noch etwas aufgefallen, was ich noch nicht
verstehe.

Ich habe vier Balken eingefügt. Wenn ich in
imagecreatetruecolor die Größe von (1000, 1000) auf (1500,
1500) ändere werden die vier Balken kleiner.

Wie kann das sein?

Der rechte Balken wird zwar bei (1000,1000) abgeschnitten,
aber das ist nicht weiter wichtig.

Hier nochmal der Code.

<?php :header ("Content-type: image/png");
$image = imagecreatetruecolor(1000, 1000); Imagefill($image,0,0,16777215);

du erzeugst 190 zeilen
warum soll also irgentwas grösser wedern nur will ich die grundfläche vergrösser ?

for ($i=0; $i<190; $i++) {
#RGB-Farben haben werden im Bereich von 0 - 255 pro Farbe
zusammengesetzt, deshalb darf in der folgenden Zeile nicht
über 255 hinaus-
#gegangen werden, was mit der MIN-Funktion erreich wird.
$farbe =
ImageColorAllocate($image,MIN(240,11+$i),MIN(240,39+$i),MIN(240
,68+$i));
imageline($image, $i+100, 200, $i+100, 700, $farbe);
imageline($image, $i+350, 200, $i+350, 700, $farbe);
imageline($image, $i+600, 200, $i+600, 700, $farbe);
imageline($image, $i+850, 200, $i+850, 700, $farbe);

$i+850 macht 190 + 850 = 1040

}
imagePNG($image);
imagedestroy($image);
?>

und was heist wird kleiner ?

upload mal zwei beispiel bilders .

Hier der Link bei imagecreatetruecolor(1000,1000)

http://www8.pic-upload.de/26.05.11/st4gy8y1upr.jpg

Hier der Link bei imagecreatetruecolor(1500,1500)
http://www8.pic-upload.de/26.05.11/wsi3yzc7s4kx.jpg

Man sieht ganz deutlich, dass beim zweiten Bild die Balken wesentlich kleiner sind als beim ersten.

Aber ich habe nur den Wert bei imagecreatetruecolor wie oben beschrieben geändert.

Wie kann das sein?

Gruß

Anscheinend skaliert der Browser.

Wenn ich mit der Maus über das Bild gehe wird daraus eine Lupe. Wenn ich dann auf das Bild klicke, vergrößert es sich und es zeigt sich die wirkliche Größe.

Hat sich also erledigt.

Gruß

Tja, man sollte auch das Bild nicht im Browser angugen sondern in einem Bildprogramm dann sieht man das die grösse bei 100% richtig ist .
Trau nie einem Browser, der tu viel zu viel .

Hallo nochmal,

man könnte die Seite, auf er das Diagramm erstellt wird in eine andere Seite einbinden. Dann wird es korrekt angezeigt.

Gruß