Seite 5 von 7

Re: Windrose grafisch programmieren?

Verfasst: 11 Feb 2023, 08:49
von olicat
Moin,

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

Oliver

Re: Windrose grafisch programmieren?

Verfasst: 11 Feb 2023, 11:25
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.

Re: Windrose grafisch programmieren?

Verfasst: 11 Feb 2023, 13:08
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) 662 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

Re: Windrose grafisch programmieren?

Verfasst: 11 Feb 2023, 15:13
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?

Re: Windrose grafisch programmieren?

Verfasst: 11 Feb 2023, 15:29
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

Re: Windrose grafisch programmieren?

Verfasst: 11 Feb 2023, 15:47
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.

Re: Windrose grafisch programmieren?

Verfasst: 11 Feb 2023, 16:17
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.

Re: Windrose grafisch programmieren?

Verfasst: 11 Feb 2023, 16:46
von olicat
Hi!

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

Oliver

Re: Windrose grafisch programmieren?

Verfasst: 11 Feb 2023, 18:51
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.

Re: Windrose grafisch programmieren?

Verfasst: 11 Feb 2023, 21:45
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) 604 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) 604 mal betrachtet
Oliver