Zum Inhalt springen

PHP rechtecke verschieben


pepe_C

Empfohlene Beiträge

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!!!

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

:rolleyes:

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...