Windrose grafisch programmieren?

Für allgemeine Software
Benutzeravatar
olicat
Offline
Beiträge: 2186
Registriert: 07 Dez 2020, 20:33
Wohnort: Hohen Neuendorf
Hat sich bedankt: 33 mal
Danksagung erhalten: 438 mal
Kontaktdaten:

Re: Windrose grafisch programmieren?

#41

Beitrag von olicat »

Moin,

das Problem liegt vermutlich in der Generierung des Bildes fuer die Werte.
Wie erzeugst Du das PNG denn?

Oliver
Benutzeravatar
Wetterfrosch
Offline
Beiträge: 440
Registriert: 08 Dez 2020, 11:49
Wohnort: 79410 Badenweiler (350mNN) / Breisgau-Hochschwarzwald
Hat sich bedankt: 111 mal
Danksagung erhalten: 37 mal
Kontaktdaten:

Re: Windrose grafisch programmieren?

#42

Beitrag von Wetterfrosch »

mit imagecreate

mache ich beim anderen banner aber auch so und dort hat es funktioniert, gugst du:
https://www.wetterstation-badenweiler.de/widget.html
und auch bei der werteeinblendung ins webcambild, die ich analog auch so einfüge, auch kein problem, gugst du:
https://www.wetterstation-badenweiler.d ... ebcam.html

in den header habe ich schon alles reingeschrieben, ändert an der sache nix

header('Content-type: image/png; charset=utf-8');
header('Content-type: image/png; charset=ISO-8859-1');
header('Content-type: image/png; charset=None');
header('Content-type: image/png');

Ich finde einfach den Unterschied zu den 2 anderen Bannerscripten, bei denen es problemlos funktioniert, nicht.

Wäre toll, wenn ich das noch irgendwie hinbekommen würde, denn ich würde u.a. die Windrichtung auch noch in ° ausgeben und da brauche ich dann das Sonderzeichen.
Benutzeravatar
olicat
Offline
Beiträge: 2186
Registriert: 07 Dez 2020, 20:33
Wohnort: Hohen Neuendorf
Hat sich bedankt: 33 mal
Danksagung erhalten: 438 mal
Kontaktdaten:

Re: Windrose grafisch programmieren?

#43

Beitrag von olicat »

Hi!

Der Header hilft da nicht. Falls Du imagestring nutzt, schau mal hier - die Funktion unterstuetzt kein UTF-8.
Vermutlich hast Du bei den anderen Projekten die php-Datei nicht mit UTF-8-Encoding sondern als ISO-8859-1 gespeichert.
Damit klappt das dann sogar mit deutschen Umlauten:
imagecreate.png
imagecreate.png (324 Bytes) 1359 mal betrachtet

Code: Alles auswählen

<?php
$im = imagecreate(240, 30);

$bg = imagecolorallocate($im, 255, 255, 255);
$textcolor = imagecolorallocate($im, 255, 0, 0);

imagestring($im, 5, 12, 8, 'Hello world ^&° äöüßÄÖÜ!', $textcolor);

imagepng($im,"imagecreate.png");
imagedestroy($im);
?>
Oliver
Benutzeravatar
Wetterfrosch
Offline
Beiträge: 440
Registriert: 08 Dez 2020, 11:49
Wohnort: 79410 Badenweiler (350mNN) / Breisgau-Hochschwarzwald
Hat sich bedankt: 111 mal
Danksagung erhalten: 37 mal
Kontaktdaten:

Re: Windrose grafisch programmieren?

#44

Beitrag von Wetterfrosch »

Keine Ahnung wie ich das als ISO-8859-1 speichere?

Aber ich sehe gerade, mit imagettftext bin ich ja viel besser dran, da kann ich ja sogar viel besser Schriftart und -Größe ändern.

https://www.php.net/manual/de/function.imagettftext.php

nur wie lege ich diese Datei auf meinem webspace an:
$font = 'arial.ttf';

Ich brauch ja diese, doch was steht in arial.ttf?
Benutzeravatar
olicat
Offline
Beiträge: 2186
Registriert: 07 Dez 2020, 20:33
Wohnort: Hohen Neuendorf
Hat sich bedankt: 33 mal
Danksagung erhalten: 438 mal
Kontaktdaten:

Re: Windrose grafisch programmieren?

#45

Beitrag von olicat »

Hi!

Bei meinen Versuchen war die arial.ttf einfach da. Das bindet PHP offenbar selbst ein oder bringt den Font mit.
Ich probierte auch noch courier.ttf - das gab es aber nicht.

Bzgl. File-Encoding:
Ein guter Editor gibt Dir die Möglichkeit, das zu ändern oder ggf. in diesem Format abzuspeichern (speichern unter).
Bei gedit könnte ich es über speichern unter lösen. Im Windows mit Notepad++ gibt es glaube ich einen Menüpunkt Encoding.

Oliver
Benutzeravatar
Wetterfrosch
Offline
Beiträge: 440
Registriert: 08 Dez 2020, 11:49
Wohnort: 79410 Badenweiler (350mNN) / Breisgau-Hochschwarzwald
Hat sich bedankt: 111 mal
Danksagung erhalten: 37 mal
Kontaktdaten:

Re: Windrose grafisch programmieren?

#46

Beitrag von Wetterfrosch »

Ah jetzt verstehe ich, ja ich schreibe die Scripte mit notepad++
Stelle ich auf iso-8859-1 um dann wird mir im notpad++ das sonderzeichen aber schon falsch angezeigt, unter uft-8 wird es in notpad++ richtig angezeigt.
nachdem ich jetzt mal versuchshalber unter iso-8859-1 abgespeichert habe, wird das sonderzeichen aber weiterhin falsch ausgegeben.

Nochmal zu dem imagettftext, hatte es gerade mal einprogramiert mit $font = 'arial.ttf';

Doch dann wird mir die entsprechende Zeite die ich im Image mit imagettftext generiere nicht mehr angezeigt.
Benutzeravatar
Wetterfrosch
Offline
Beiträge: 440
Registriert: 08 Dez 2020, 11:49
Wohnort: 79410 Badenweiler (350mNN) / Breisgau-Hochschwarzwald
Hat sich bedankt: 111 mal
Danksagung erhalten: 37 mal
Kontaktdaten:

Re: Windrose grafisch programmieren?

#47

Beitrag von Wetterfrosch »

ich sehe gerade, man muss diese ttf-datei wohl auf dem webspace installieren, ist eine datei die die schriftarten enthält:
https://ttfonts.net/de/download/40323.htm

jetzt gehts, habe mir eine schriftart auf meinen webspace geladen.
Benutzeravatar
olicat
Offline
Beiträge: 2186
Registriert: 07 Dez 2020, 20:33
Wohnort: Hohen Neuendorf
Hat sich bedankt: 33 mal
Danksagung erhalten: 438 mal
Kontaktdaten:

Re: Windrose grafisch programmieren?

#48

Beitrag von olicat »

Hi!

Sorry, meine Versuche mit der arial.ttf waren nicht mit PHP sondern mit Python, wie ich jetzt sehe ...

Oliver
Benutzeravatar
Wetterfrosch
Offline
Beiträge: 440
Registriert: 08 Dez 2020, 11:49
Wohnort: 79410 Badenweiler (350mNN) / Breisgau-Hochschwarzwald
Hat sich bedankt: 111 mal
Danksagung erhalten: 37 mal
Kontaktdaten:

Re: Windrose grafisch programmieren?

#49

Beitrag von Wetterfrosch »

oh man, jetzt habe ich ewig rumprobiert, die Werte schön scaliert, schön mit STR_PAD_LEFT und RIGHT damit das alles auch wenn sich die Zahlen bzw. Stellen ändern, immer noch schön aussieht, ewig mit den richtigen Abständen usw. in der Grafik rumprobiert, dann die eine gegen eine andere Schrift ausgetauscht, wieder die Abstände usw. geändert, wieder andere Schrift genommen und wieder von vorne angefangen, bis ich erkennen musste, dass ich ja eine Nichtproportionale Schrift (Schrift immer immer der gleichen Zeichenbreite) verwenden sollte, wenn das mit den Abständen immer gleich bleiben sollte.

Ok, dann noch mal alles von vorne ;-)

Nun mal das vorläufige Ergebnis:
https://wetterstation-badenweiler.de/MLV.php

Ich denke, dafür das ich rel. wenig Ahnung vom Programmieren habe, konnte ich mit deiner Hilfe doch etwas ganz nutzbares auf die Beine stellen.
Dankeschön für deine Gedult.
und ich habe dank den letzten Stunden wieder einiges dazu gelernt.
Benutzeravatar
olicat
Offline
Beiträge: 2186
Registriert: 07 Dez 2020, 20:33
Wohnort: Hohen Neuendorf
Hat sich bedankt: 33 mal
Danksagung erhalten: 438 mal
Kontaktdaten:

Re: Windrose grafisch programmieren?

#50

Beitrag von olicat »

Hi!

Ich bin jedenfalls beeindruckt, was Du da hinbekommen hast!
Und ich habe Deine Problematik als Trigger genutzt, einen schon laenger existierenden potentiellen Feature-Wunsch fuer FOSHKplugin etwas naeher zu betrachten. Mit der gelernten Technik (ich habe das heute auch zum ersten Mal gemacht) bin ich also in der Lage, einen Banner mit nutzerdefinierten Werten der Wetterstation zu erzeugen. Den koennte man dann theoretisch irgendwo auf einer Homepage oder als Footer in einem Forum nutzen. Oder aber als Overlay zu irgendwelchen Webcam-Bildern:
banner.png
banner.png (18 KiB) 1301 mal betrachtet
Natuerlich muessten die @Felder noch mit den echten Werten ersetzt werden. Aber im Groben habe ich jetzt eine Idee, wie ich das realisieren koennte.
Logo und Farben sind vom Nutzer definierbar. Wie auch der Inhalt der einzelnen Zeilen und Spalten.
Und es geht natuerlich auch transparent:
banner-trans.png
banner-trans.png (14.57 KiB) 1301 mal betrachtet
Oliver
Antworten