[PHP] Farben einer Grafik auslesen/vergleichen??

b_kannter

Well-known member
ID: 156336
L
28 April 2006
323
10
Hallo zusammen,

ich habe eine für euch wahrscheinlich recht seltsame Frage. Glaube auch nicht, dass es funktioniert, aber Fragen kostet ja nichts. Und zwar möchte ich mit PHP eine Grafik hinsichtlich ihrer Farbe vergleichen. Als Beispiel:
Auf der Seite der Unwetterzentrale werden verschiedene Warnstufen als Farben ausgegeben. https://www.unwetterzentrale.de/uwz/index.html Kann ich da dann die Farben einer Stadt oder eines Landkreises herauskriegen, obwohl es pro Bundesland eine zusammenhängende Grafik ist??

Edit: Die Koordinaten einer Stadt/Landkreis sind über die Verlinkung bekannt.
 
Das Problem ist, der Name der Grafik ist dynamisch, nur die Adresse der Seite bleibt gleich. Aber ich habe die absoluten Koordinaten der Stelle, die ich ausgelesen haben möchte, von der Seite. Geht es damit auch??
 
b_kannter schrieb:
Das Problem ist, der Name der Grafik ist dynamisch, nur die Adresse der Seite bleibt gleich. Aber ich habe die absoluten Koordinaten der Stelle, die ich ausgelesen haben möchte, von der Seite. Geht es damit auch??
Nein. Du brauchst ja die Grafik.
GD kann dir keinen Screenshot (von einem clientseitigen Browser, den du auf der Serverseite nicht hast) machen, den du in aller Ruhe untersuchen kannst.
Wenn du an die Grafik willst, musst du auch ihren Namen wissen, d.h. du musst die Seite analysieren und erstmal die URL zur Grafik rausbekommen.
 
Nö, kompliziert ist das garnicht...
PHP:
// Webseite einlesen
$file = file_get_contents('https://www.unwetterzentrale.de/uwz/index.html');
// URL suchen
if(!preg_match('#</map>.+src="(?P<bildurl>.+)"#sU', $file, $matches)) {
  die('Fehler beim Einlesen');
}
// Bild öffnen
$im = imagecreatefrompng($matches['bildurl']);
// ...
Ungetestet, aber es sollte funktionieren!
 
Xgame schrieb:
Nö, kompliziert ist das garnicht...
PHP:
// Webseite einlesen
$file = file_get_contents('https://www.unwetterzentrale.de/uwz/index.html');
// URL suchen
if(!preg_match('#</map>.+src="(?P<bildurl>.+)"#sU', $file, $matches)) {
  die('Fehler beim Einlesen');
}
// Bild öffnen
$im = imagecreatefrompng($matches['bildurl']);
// ...
Ungetestet, aber es sollte funktionieren!

Das Problem ist, es gibt mehrere Grafiken auf der Seite, und ich bin mir nicht sicher, ob es immer gleich viele sind. Sonst könnte man ja durchzählen.
 
b_kannter schrieb:
Das Problem ist, es gibt mehrere Grafiken auf der Seite, und ich bin mir nicht sicher, ob es immer gleich viele sind. Sonst könnte man ja durchzählen.
Im RegExp ist schon der Anschluss an das <map>-Tag drinnen, wie ich sehe.

Kann dir damit wurscht sein, wieviele Grafiken es sind. Hauptsache, es ist die nach der Map und das wird sie wohl immer sein :)