FHEM Forum

FHEM => Frontends => RSS => Thema gestartet von: betateilchen am 05 Dezember 2013, 23:50:17

Titel: 98_SVG.pm - plotAsPng() schneidet Beschriftung am unteren Rand ab
Beitrag von: betateilchen am 05 Dezember 2013, 23:50:17
Folgender Plot

(http://up.picr.de/16667261xs.jpg)

wird bei Abruf über plotAsPng() zur Verwendung in einem RSS

img .5 .5 1 png data { plotAsPng("wl_out_Balkon")}

am unteren Rand abgeschnitten:

(http://up.picr.de/16667262qh.jpg)

Unschön.
Titel: Antw:98_SVG.pm - plotAsPng() schneidet Beschriftung am unteren Rand ab
Beitrag von: ChrisD am 06 Dezember 2013, 21:09:50
Hallo,

Das erzeugte PNG ist zu klein, dies kommt wahrscheinlich durch ein Problem beim Rendern der Schriften. Bei einer plotsize von 800x160 (Standard) ist das PNG nur 798x154 Pixel groß. Um das Problem mit der Größe zu umgehen habe ich den Code in 98_svg.pm geändert, die Änderung behebt auch gleichzeitig das von dir beobachtete Verhalten. In der aktuellen Version 4315 von 98_svg.pm habe ich dazu nach der Zeile 1531($mimetype, $svgdata)   = SVG_showLog("unused");dies hinzugefügt:
my ($w, $h) = split(",", AttrVal($plotName[0],"plotsize","800,160"));
$svgdata =~ s/<\/svg>/<polyline opacity="0" points="0,0 $w,$h"\/><\/svg>/;

Dadurch wird eine nicht-sichtbare Linie von links oben nach rechts unten 'gezeichnet' was dazu führt dass das PNG genau plotsize groß ist (und der Text komplett sichtbar ist).

Grüße,

ChrisD
Titel: Antw:98_SVG.pm - plotAsPng() schneidet Beschriftung am unteren Rand ab
Beitrag von: betateilchen am 07 Dezember 2013, 10:59:16
Hallo ChrisD,

danke, so ähnlich hatte ich das auch bei mir schon geändert. Deine Lösung sieht allerdings vom Perl-Code viel "schöner" aus als meine :)

Viele Grüße
Udo