mit PHP ein Kreuz ain ein Bild machen.
oke
- php
0 Vinzenz Mai0 oke0 Vinzenz Mai
MOin,
mein vorhaben ist es, ein Kreuz oder einen Punkt in ein Bild zu generieren(on the fly).
also:
ich lade das bild und dann gebe ich die kordinaten. z.B x:450 u. y:385.
An genau der stelle soll dann ein Kruez oder punkt.
Wenn die Seite mit dem Bild geschlossen wird, soll das bild nicht gespeichert werden. grundsätzlich soll das Bild nicht gespeichert werden.
Wisst ihr wo es lösungswege zu finden gibt?
Oder könnt ihr mir anders helfen?
MfG oke
Hallo oke
ich lade das bild und dann gebe ich die kordinaten. z.B x:450 u. y:385.
An genau der stelle soll dann ein Kruez oder punkt.
Entscheide Dich! Wirf eine Münze: Bei Zahl nimm einen Punkt, bei Wappen ein Kreuz.
Wenn die Seite mit dem Bild geschlossen wird, soll das bild nicht gespeichert werden. grundsätzlich soll das Bild nicht gespeichert werden.
Hmm, da das Kreuz ja nicht immer an der gleichen Stelle zu finden sein wird, habe ich für diesen Wunsch Verständnis.
Helfen Dir die Grafikfunktionen von PHP weiter?
Freundliche Grüße
Vinzenz
nehmen wir einen Punkt :)
habe das jetzt so:
$im = ImageCreateFromJPEG("map.jpg");
$red = 225;
$green = 0;
$blue = 225;
$color = ImageColorAllocate( $im, $red, $green, $blue );
$x = 100;
$y = 100;
imagefill($im, $x,$y, $color);
header("Content-type: image/jpeg");
Imagejpeg($im,"",100);
ImageDestroy($im);
aber an der geforderten stelle entsteht kein punkt.
Was ist falsch oder bin ich auf dem falschen weg?
Hallo oke
imagefill($im, $x,$y, $color);
aber an der geforderten stelle entsteht kein punkt.
Was ist falsch oder bin ich auf dem falschen weg?
Der Weg ist richtig, aber imagefill() ist nicht die Funktion, die Du suchst. imagesetpixel() setzt genau einen Pixel, der dürfte allerdings kaum zu sehen sein, wahrscheinlich hilft Dir imagefilledellipse() mit geeignet gewähltem Durchmesser (d.h. Höhe = Breite) zum gewünschten Ergebnis. Teste mal mit 5 als Durchmesser, damit Du was siehst.
Freundliche Grüße
Vinzenz
Jo danke, das hat mir geholfen!
Der gesamte qelltext im überblick:
[Code]
<?PHP
$im = ImageCreateFromJPEG("map.jpg");
//Farbe für die spätee ellipse (bild,rot,grün,blau)
$col_ellipse = imagecolorallocate($im, 255, 255, 255);
//einfügen der ellipse ins bild. (bild, x-koor, y-koor, breite, höhe,farbe)
imagefilledellipse($im, 200, 150, 30, 30, $col_ellipse);
header("Content-type: image/jpeg");
//Ausgeben des Bildes
ImageJPEG($im,"",300);
ImageDestroy($im);
?>
[/CODE]
Danke!!
Eike
nächstes problem.
ich will die koordinaten aus ner datenbank holen.
also include ich vor dem ganzen bild kram die connect.php.
Doch wenn ich dies tue gibt mir der browser die Fehlermeldung aus
"Die Grafik "http://seite_mit_dem_bild.php" kann nicht angezeigt werden, weil sie Fehler enthält."
erstmal. warum denn .php??? ist doch nen jpg.
2. wie kann ich die koordinaten aus ner datenbank lesen?
Hallo Eike,
ich will die koordinaten aus ner datenbank holen.
2. wie kann ich die koordinaten aus ner datenbank lesen?
Du willst zuviele Schritte auf einmal machen.
Dein erster Schritt sollte es sein, Dein Skript parametergesteuert zu machen. Als Parameter bietet sich nahezu alles an:
a) Koordinaten
- x-Koordinate
- y-Koordinate
b) Durchmesser
c) Füllfarbe
- R-Anteil
- G-Anteil
- B-Anteil
d) Bild
Für Deinen Zweck reichen die Koordinaten aus. Dazu kannst Du den Querystring verwenden. Wenn Dein Skript punkt_in_bild.php heisst, würdest Du das Bild z.B. per
/pfad/zu/punkt_in_bild.php?x=200&y=150
aufrufen. Auf die Parameter im Querystring kannst Du über das superglobale Array $_GET zugreifen. Du solltest die übergebenen Parameter auf Gültigkeit überprüfen, bevor Du diese weiterverarbeitest.
Nach diesem Schritt solltest Du in der Lage sein, über die Angaben im Querystring, d.h. die URL-Parameter den Punkt auf eine beliebige Stelle im Bild zu setzen (auch hier auf sinnvolle und gültige Werte prüfen).
Im nächsten Schritt bindest Du dieses Bild, das Du per PHP erzeugst, in eine HTML-Seite (gern auch eine, die per PHP generiert wird) ein.
Dazu fügst Du ganz normal einen <img>-Tag in Deine HTML- (oder PHP-) Seite ein, dort wo das Bild hin soll, als Wert für das Attribut src gibst Du den Pfad zu Deinem PHP-Skript an. Die Position des Punktes steuerst Du über den Querystring, den Du hier noch zum Testen fest vorgibst.
Im letzten Schritt erst gehst Du daran, die Parameter aus der Datenbank auszulesen. Wie Du dabei vorgehen musst, hängt von dem vorhandenen Datenbankmanagementsystem (DBMS) ab, schau dazu einfach zunächst einmal in die PHP-Doku zu Deinem DBMS.
Versuche jetzt, Schritt für Schritt voranzukommen. Wenn Du auf Probleme stossen solltest, die Du alleine mit Hilfe des Handbuchs nicht bewältigen kannst, dann melde Dich wieder hier im Thread.
Freundliche Grüße
Vinzenz