SVG: Patch from betateilchen:
http://forum.fhem.de/index.php?topic=18058.new#new git-svn-id: https://svn.fhem.de/fhem/trunk@4502 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
@@ -1508,45 +1508,50 @@ SVG_pO($)
|
|||||||
##################
|
##################
|
||||||
|
|
||||||
# this is a helper function which creates a PNG image from a given plot
|
# this is a helper function which creates a PNG image from a given plot
|
||||||
sub plotAsPng(@) {
|
sub
|
||||||
my (@plotName) = @_;
|
plotAsPng(@)
|
||||||
my (@webs, $mimetype, $svgdata, $rsvg, $pngImg);
|
{
|
||||||
|
my (@plotName) = @_;
|
||||||
|
my (@webs, $mimetype, $svgdata, $rsvg, $pngImg);
|
||||||
|
|
||||||
@webs=devspec2array("TYPE=FHEMWEB");
|
@webs=devspec2array("TYPE=FHEMWEB");
|
||||||
foreach(@webs) {
|
foreach(@webs) {
|
||||||
if(!InternalVal($_,'TEMPORARY',undef)) {
|
if(!InternalVal($_,'TEMPORARY',undef)) {
|
||||||
$FW_wname=InternalVal($_,'NAME','');
|
$FW_wname=InternalVal($_,'NAME','');
|
||||||
last;
|
last;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#Debug "FW_wname= $FW_wname, plotName= $plotName[0]";
|
#Debug "FW_wname= $FW_wname, plotName= $plotName[0]";
|
||||||
|
|
||||||
$FW_RET = undef;
|
$FW_RET = undef;
|
||||||
$FW_webArgs{dev} = $plotName[0];
|
$FW_webArgs{dev} = $plotName[0];
|
||||||
$FW_webArgs{logdev} = InternalVal($plotName[0], "LOGDEVICE", "");
|
$FW_webArgs{logdev} = InternalVal($plotName[0], "LOGDEVICE", "");
|
||||||
$FW_webArgs{gplotfile} = InternalVal($plotName[0], "GPLOTFILE", "");
|
$FW_webArgs{gplotfile} = InternalVal($plotName[0], "GPLOTFILE", "");
|
||||||
$FW_webArgs{logfile} = InternalVal($plotName[0], "LOGFILE", "CURRENT");
|
$FW_webArgs{logfile} = InternalVal($plotName[0], "LOGFILE", "CURRENT");
|
||||||
$FW_pos{zoom} = $plotName[1] if $plotName[1];
|
$FW_pos{zoom} = $plotName[1] if $plotName[1];
|
||||||
$FW_pos{off} = $plotName[2] if $plotName[2];
|
$FW_pos{off} = $plotName[2] if $plotName[2];
|
||||||
|
|
||||||
($mimetype, $svgdata) = SVG_showLog("unused");
|
($mimetype, $svgdata) = SVG_showLog("unused");
|
||||||
|
|
||||||
#Debug "MIME type= $mimetype";
|
#Debug "MIME type= $mimetype";
|
||||||
#Debug "SVG= $svgdata";
|
#Debug "SVG= $svgdata";
|
||||||
|
|
||||||
eval {
|
my ($w, $h) = split(",", AttrVal($plotName[0],"plotsize","800,160"));
|
||||||
require Image::LibRSVG;
|
$svgdata =~ s/<\/svg>/<polyline opacity="0" points="0,0 $w,$h"\/><\/svg>/;
|
||||||
$rsvg = new Image::LibRSVG();
|
|
||||||
$rsvg->loadImageFromString($svgdata);
|
|
||||||
$pngImg = $rsvg->getImageBitmap();
|
|
||||||
};
|
|
||||||
Log3 $FW_wname, 1,
|
|
||||||
"plotAsPng(): Cannot create plot as png image for \"" .
|
|
||||||
join(" ", @plotName) . "\": $@"
|
|
||||||
if($@ or !defined($pngImg) or ($pngImg eq ""));
|
|
||||||
|
|
||||||
return $pngImg if $pngImg;
|
eval {
|
||||||
return;
|
require Image::LibRSVG;
|
||||||
|
$rsvg = new Image::LibRSVG();
|
||||||
|
$rsvg->loadImageFromString($svgdata);
|
||||||
|
$pngImg = $rsvg->getImageBitmap();
|
||||||
|
};
|
||||||
|
Log3 $FW_wname, 1,
|
||||||
|
"plotAsPng(): Cannot create plot as png image for \"" .
|
||||||
|
join(" ", @plotName) . "\": $@"
|
||||||
|
if($@ or !defined($pngImg) or ($pngImg eq ""));
|
||||||
|
|
||||||
|
return $pngImg if $pngImg;
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
##################
|
##################
|
||||||
|
|||||||
Reference in New Issue
Block a user