pepe_C Geschrieben 15. September 2006 Geschrieben 15. September 2006 hallo an alle, hier mein problem: <?php $breite = 40; $hoehe = 80; $grafik=imagecreate($breite, $hoehe); $farbe = imagecolorallocate($grafik,100,100,100); imagerectangle($grafik,30,10,70,90,$farbe); header("content-type: image/png"); imagepng($grafik); imagedestroy($grafik); ?> und so wie ich das verstehe (es sei dazu gesagt ich bin net sattelfest in php), kann ich in der funktion imagerectangle(grafik, linksoben, rechts oben, links oben 2, rechts oben 2(hier dann di ehoehe des rechtecks) aber warum kann ich dann das ding nicht 50 pixel von oben usw. verschieben wie geht das? ich soll diagramme bauen und muss mich jetzt in die thematik einarbeiten bitte nix mit dynakisch usw. erstmal easy eins nach dem anderen WIE VERSCHIEBE ICH DAS RECHTECK AN EINE ANDERE STELLE AUF DEM MONITOR ZB 100 VON LINKS BIS 200 VON LINKS UND DANN 100 VON OBEN BIS 500 VON OBEN DAS MUSS DOCH MACHBAR SEIN? UND WIE FÜGE ICH DANN SECHS ODER MEHR GRAFIKEN IN EINE ANDERE EIN? DANKE IM VORRAUS IST ECHT WICHTIG!!! Zitieren
Amstelchen Geschrieben 15. September 2006 Geschrieben 15. September 2006 ich soll diagramme bauen und muss mich jetzt in die thematik einarbeiten wieso verwendest du nicht eine diagrammklasse für PHP? du kannst dich auch damit in die "thematik" einarbeiten, nur mit etwas professionellerem ansatz. und so wie ich das verstehe (es sei dazu gesagt ich bin net sattelfest in php), kann ich in der funktion imagerectangle(grafik, linksoben, rechts oben, links oben 2, rechts oben 2(hier dann di ehoehe des rechtecks) falsch. RTFM. ImageRectangle() erzeugt ein Rechteck mit der Linienfarbe col, beginnend bei der oberen linken Koordinate X1 und Y1. Das Ende liegt bei der unteren rechten Koordinate X2 und Y2. Dabei ist 0, 0 die linke obere Ecke des Bildes im. WIE VERSCHIEBE ICH DAS RECHTECK AN EINE ANDERE STELLE AUF DEM MONITOR ZB 100 VON LINKS BIS 200 VON LINKS UND DANN 100 VON OBEN BIS 500 VON OBEN DAS MUSS DOCH MACHBAR SEIN? auf dem monitor kannst du das nicht verschieben, aber innerhalb des von imagecreate erzeugten $grafik. UND WIE FÜGE ICH DANN SECHS ODER MEHR GRAFIKEN IN EINE ANDERE EIN? mehre subsequente aufrufe von imagerectangle nach einem imagecreate. steht alles in der doku. DANKE IM VORRAUS IST ECHT WICHTIG!!! musst deswegen so schreien? s'Amstel Zitieren
geloescht_JesterDay Geschrieben 18. September 2006 Geschrieben 18. September 2006 aber warum kann ich dann das ding nicht 50 pixel von oben usw. verschieben wie geht das? Um etwas verschieben zu können brauchst du ja erstmal eine Ausgabefläche, auf der die Grafik dann verschoben werden kann. PHP bietet selber aber keine Ausgabefläche (GUI) an bzw. spricht diese direkt an. Mit PHP kannst du also Grafiken erzeugen, die Ausgabesteuerung kannst du mit PHP aber nicht machen. Zitieren
pepe_C Geschrieben 18. September 2006 Autor Geschrieben 18. September 2006 hallo, hab mir die seiten angeschaut aber ich wollte den spass erstmal verstehen und dann ne klasse bauen die meinen bedürfnissen entspricht soweit mein code jetzt <?php //Konfiguration //Allgemeine Diagrammdaten $breite = 500; $hoehe = 300; ###################################################################################################### // Hier werden die Farben bestimmt //================================ // Erstellung der Grafik $grafik = imagecreate($breite,$hoehe); // Bestimmung der Arbeitsflächenfarbe $arbeitsflaechenfarbe =imagecolorallocate($grafik,200,200,200); // Bestimmung der Balkenfarbe $balkenfarbe = imagecolorallocate($grafik,70,70,150); // Bestimmung der Linienfarbe $linienfarbe = imagecolorallocate($grafik,100,100,100); ###################################################################################################### // Hier wird die Balhenhoehe berechnet //==================================== for($i = 50;$i <=300;$i=$i+30) { $balkenhoehe[] = $i; } //print_r($balkenhoehe); $balkenunterkante = $hoehe; // unterkante diagramm ####################################################################################################### // Hier werden die Geometrischen Figuren gezeichnet //================================================= // Erstellung des ersten Balken mit Positionsangabe imagefilledrectangle($grafik,40,$balkenhoehe[5],80,$balkenunterkante,$balkenfarbe); //gefülltes rechteck in arbeitsbereich // Erstellung des zweiten Balken mit Positionsangabe imagefilledrectangle($grafik,120,$balkenhoehe[4],160,$balkenunterkante,$balkenfarbe); //gefülltes rechteck in arbeitsbereich // Erstellung des dritten Balken mit Positionsangabe imagefilledrectangle($grafik,200,$balkenhoehe[3],240,$balkenunterkante,$balkenfarbe); //gefülltes rechteck in arbeitsbereich // Erstellung des vierten Balken mit Positionsangabe imagefilledrectangle($grafik,280,$balkenhoehe[2],320,$balkenunterkante,$balkenfarbe); //gefülltes rechteck in arbeitsbereich // Erstellung des fünften Balken mit Positionsangabe imagefilledrectangle($grafik,360,$balkenhoehe[1],400,$balkenunterkante,$balkenfarbe); //gefülltes rechteck in arbeitsbereich // Erstellung des sechsten Balken mit Positionsangabe imagefilledrectangle($grafik,440,$balkenhoehe[0],480,$balkenunterkante,$balkenfarbe); //gefülltes rechteck in arbeitsbereich // Estellung der horizontalen Linie imageline ( $grafik, 0, 299, 499, 299, $linienfarbe ); // Erstellung der vertikalen Linie imageline ( $grafik, 0, 0, 0, 299, $linienfarbe ); header("Content-Type: image/gif"); imagegif($grafik); imagedestroy($grafik); ?> und trotzdem weiß ich immer noch nicht warum ich die grafik nicht in der mitte des monitors platzieren kann ist doch ******e mfg Zitieren
pepe_C Geschrieben 18. September 2006 Autor Geschrieben 18. September 2006 hallo, also hab ich das jetzt richtig verstanden ich kann durch angabe von <img src="dateiname.php" ...........> dann das teil im html code verschieben wie ich will oder ich bau ne große grundgrafik und verschiebe das dann dort mfg Zitieren
geloescht_JesterDay Geschrieben 18. September 2006 Geschrieben 18. September 2006 also hab ich das jetzt richtig verstanden ich kann durch angabe von <img src="dateiname.php" ...........> dann das teil im html code verschieben wie ich will oder Naja, im HTML Code verschieben hört sich komisch an, aber wenn du damit meinst, mit HTML/CSS bestimmen wo die Grafik in der Ausgabe zu sehen sein soll, dann ist das korrekt. ich bau ne große grundgrafik und verschiebe das dann dort Wie wenn du mit Paint z.B. eine Grafik malen würdest und z.B. dort einen roten Punkt in die Mitte setzen. EDIT: ... // Estellung der horizontalen Linie imageline ( $grafik, 0, 299, 499, 299, $linienfarbe ); // Erstellung der vertikalen Linie imageline ( $grafik, 0, 0, 0, 299, $linienfarbe ); header("Content-Type: image/gif"); imagegif($grafik); imagedestroy($grafik); ?> und trotzdem weiß ich immer noch nicht warum ich die grafik nicht in der mitte des monitors platzieren kann ist doch ******e Alles was dein Script tut, ist eine Grafik erstellen (ein GIF in dem Fall) und das dann ausgeben. MAch mal nen einfachen Versuche: Mach deinen Browser auf und deinen Explorer. Im Explorer suchst du dir einen Ordner, in dem ein Bild liegt. Dieses Bild klickst du mit der Maus an und hälst die Taste gedrückt (linke Taste). Dann ziehst du das Bild über deinen Browser und läßt dort die Maustaste los. Der Browser lädt jetzt das Bild un zeigt es an, und wo? Links oben in der Ecke. Ist doch ******e. Zitieren
pepe_C Geschrieben 19. September 2006 Autor Geschrieben 19. September 2006 hallo, jetzt hab ichs. hab das gestern abend getestet mit dem bild ansprechen und verschieben mit html/css geht wunderbar. da eröffnen sich ja super möglichkeiten ich danke dir/ euch für die tipps mfg Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.