| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |

11-12-2007, 18:59
|
|
Firefly
Junior Member
|
|
Registriert seit: Jan 2005
Beiträge: 121
|
|
Liniendiagramm
Code unten bitte fragen beantworten wenn möglich
Grüße V. Maurer
Geändert von Firefly (12-12-2007 um 16:02 Uhr)
|

11-12-2007, 19:19
|
|
IchBinIch
Registrierter Benutzer
|
|
Registriert seit: Apr 2003
Beiträge: 324
|
|
Zitat:
|
deshalb habe ich es jetzt auf png gestellt aber auch das ändert nichts, was mache ich falsch?
|
Echt???
image jpeg($bild,"name.png");
__________________
ICH BIN ICH!!!
|

11-12-2007, 19:24
|
|
Firefly
Junior Member
|
|
Registriert seit: Jan 2005
Beiträge: 121
|
|
looool
kk jap augen auf ich weiß schon ^^
danke dir  ^^
|

11-12-2007, 20:11
|
|
ZombieChe
Member
|
|
Registriert seit: Apr 2004
Ort: Hannover
Beiträge: 225
|
|
...oder vielleicht an der Qualität drehen...
Zitat:
|
int imagejpeg ( resource $im [, string $filename [, int $quality ]] )
|
|

11-12-2007, 21:17
|
|
Firefly
Junior Member
|
|
Registriert seit: Jan 2005
Beiträge: 121
|
|
ah cool danke aber ich lass es jetzt als png
Hier mal der Code seht:
(was könnte ich daran noch optimieren, es soll später mal die besucher auf einer website im jahr anzeigen also pro monat halt)
PHP-Code:
<?
/* +----------------------------------------------------------+
| Voreinstellungen des Diagramms |
+----------------------------------------------------------+
*/
// Streckfaktor
$streckf = 50;
// Verschiebung in x
$driftx = 30;
// Bild erstellen
$bild = imagecreate(630,300);
$coldb = ImageColorAllocate($bild,0,105,140);
$colblack = ImageColorAllocate($bild,0,0,0);
$colwhite = ImageColorAllocate($bild,255,255,255);
$colwb = ImageColorAllocate($bild,33,142,173);
imageline($bild, 30, 0, 30, 250, $colwhite); // achse y
// imageline($bild, 0, 0, 600, 0, $colwhite); // achse x oben
imageline($bild, 30, 250, 630, 250, $colwhite); // achse x
// imageline($bild, 599, 0, 599, 250, $colwhite); // achse y rechts
// Array werte :)
$werte[] = 0;
$werte[] = 0;
$werte[] = 0;
$werte[] = 0;
$werte[] = 0;
$werte[] = 0;
$werte[] = 0;
$werte[] = 0;
$werte[] = 0;
$werte[] = 0;
$werte[] = 0;
$werte[] = 10;
// Maximalen Wert ermitteln
$blub = $werte;
sort($blub);
$test = count($werte);
$max = $blub[$test-1];
// Beschriftung erzeugen (Y-Achse)
$count = 0;
for($i = 10; $i >= 0; $i--) {
$y = $count * 25 - 6;
ImageString($bild, 1, 10, $y, $i * 25, $colwhite);
$count++;
}
// Beschriftung erzeugen (X-Achse)
$zeit[] = "Jan.";
$zeit[] = "Feb.";
$zeit[] = "Mär.";
$zeit[] = "Apr.";
$zeit[] = "Mai";
$zeit[] = "Jun.";
$zeit[] = "Jul.";
$zeit[] = "Aug.";
$zeit[] = "Sep.";
$zeit[] = "Okt.";
$zeit[] = "Nov.";
$zeit[] = "Dez.";
for($i = 0; $i <= 12; $i++) {
$x = $i * $streckf + 25;
ImageString($bild, 2, $x, 252, $zeit[$i], $colwhite);
}
for($i = 0; $i < count($werte); $i++) {
$x = $i * $streckf + 30;
$y = 250 - $werte[$i];
$x1 = ($i + 1) * $streckf + 30;
$y1 = 250 - $werte[$i+1];
if($werte[$i+1] != "") {
imageline($bild, $x, $y, $x1, $y1, $colwb);
}
$x = $x - 6;
if($x < 0 + $driftx)
$x = 2 + $driftx;
if($x > 593 + $driftx)
$x = 585 + $driftx;
$y = $y - 10;
if($y < 0)
$y = 2;
if($y > 250)
$y = 245;
ImageString($bild, 1, $x, $y, $werte[$i], $colwhite);
}
imagepng($bild,"diagramm.png");
echo '<img src="diagramm.png"><br>';
?>
Ich weiß nicht was mit der array(); funktion bei ir ist irgendwie funzt die nicht kein plan bei mir gehts nur so ^^ aber da kommen ja später eh mysql werte rein, von dem her isses ja egal. ich hab mir die funktionen und so hier ausm forum und aus der manual zusammengebastelt ber eins versteh ich nicht und zwar das:
PHP-Code:
$bild = imagecreate(630,300);
$coldb = ImageColorAllocate($bild,0,105,140);
$colblack = ImageColorAllocate($bild,0,0,0);
$colwhite = ImageColorAllocate($bild,255,255,255);
$colwb = ImageColorAllocate($bild,33,142,173);
wieso ist die hintergrundfabe des bildes nicht $colwb sondern $coldb, klar es ist so gewollt aber warum nimmt der das erste und nicht eins nach dem anderen und schließlich bleibt das letzte???
Grüße danke für antworten Gruß vincent
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|