Hallo,
ich nutze schon seit einigen Jahren den RSS Feed um diverse Bildschirme zu erstellen.
Jetzt habe ich mir ein kleines Widget für mein Smartphone Programmiert das, das Bild (png) im Widget anzeigt. Wie bekomme ich es hin das ich einen Transparenten Hintergrund habe.? Oder geht dies technisch überhaupt nicht!
Mfg Tobias
			
			
			
				Hallo Tobias,
geht es darum, eine Datei im PNG mit transparentem Hintergrund zu erstellen, oder wie diese über das erzeugte Bild angezeigt wird? Wenn das PNG einen transparenten Teil hat, müsste die im RSS-Modul verwendete Bibliothek das eigentlich so anzeigen. Was ist das Problem?
Viele Grüße
Boris
			
			
			
				Ich habe die Datei/Bild mit angehängt. Also ich hätte gern das alles was im Hintergrund jetzt weiß ist alles Transparent ist. Damit ich das erzeugte Bild in meinen Widget verwenden kann und das Hintergrundbild meine Smartphones durchleuchtet.
Ich hoffe ich habe es einigermaßen gut ausgedrückt!
			
			
			
				Ach so, es geht um das finale Bild, das RSS erzeugt.
Es müsste mit
attr DeinRSS bgcolor FFFFFF7F
gehen.
			
			
			
				Zitat von: Dr. Boris Neubert am 04 Januar 2020, 13:10:57
Ach so, es geht um das finale Bild, das RSS erzeugt.
Es müsste mit
attr DeinRSS bgcolor FFFFFF7F
gehen.
Nein leider nicht, das habe ich auch schon getestet.
hier mal ein List von dem Device
Internals:
   .embed     
   CFGFN      
   DEF        png 192.168.0.185 /mnt/usb/fhem/rss/rss_320x240_app_aussen.layout
   FUUID      5e0a4322-f33f-66a9-3a1d-996a1c0f90a6ff99
   LAYOUTFILE /mnt/usb/fhem/rss/rss_320x240_app_aussen.layout
   NAME       APP_Temp_Aussen_RSS_320x240
   NOTIFYDEV  global
   NR         2078
   NTFY_ORDER 50-APP_Temp_Aussen_RSS_320x240
   STATE      Sat Jan  4 13:15:44 2020
   TYPE       RSS
   fhem:
     bgnr       0
     counter    409
     filename   /mnt/usb/fhem/rss/rss_320x240_app_aussen.layout
     hostname   192.168.0.185
     layout     #Schriftart festlegen
font /usr/share/fonts/truetype/msttcorefonts/arial.ttf
#font /usr/share/fonts/truetype/msttcorefonts/arialbd.ttf
rgb "000000"
# waagerechte Linien
line 0  25 320  25
#line 0 133 320 133
#line 0 640 720 640
#line 0 940 720 940
# senkrechte Linien
#line 160 25 160 240
# wir bauen uns eine Kopfzeile
# Schriftgroesse festlegen
pt 14
#date  10 30
time  5 20
rgb "000000"
text 110  20 "Temperatur Aussen"
pt 50
rgb "666666"
text 25 80 "Terrasse"
pt 55
rgb "000000"
text 80 150 {(ReadingsVal("MA_Terrasse","temperature",""))."�C" }
pt 55
rgb "666666"
text 80 220 {(ReadingsVal("MA_Terrasse","humidity",""))." %" }
#Plot einbinden
#img  0 100 0.40 png data { plotAsPng("SVG_FileLog_MA_Terrasse_1") }
     style      png
     t          1578140144.7895
     useTextAlign 1
     useTextWrap 1
Attributes:
   bgcolor    FFFFFF7F
   room       RSS
   size       320x240
			 
			
			
				Hmm. Wenn Du bgcolor 000000 setzt, wird dann der Hintergrund schwarz?
			
			
			
				Zitat von: Dr. Boris Neubert am 04 Januar 2020, 14:29:01
Hmm. Wenn Du bgcolor 000000 setzt, wird dann der Hintergrund schwarz?
Ja da wird es Schwarz.
			
 
			
			
				Kann denn das Widget auf dem Smartphone überhaupt mit Transparenz umgehen? Hast Du mal ein Bild mit Transparenz selbst erstellt und das versucht, anzuzeigen?
			
			
			
				Ja das geht.
			
			
			
				Hallo,
das Problem besteht in 02_RSS.pm in der Art, wie das Bild neu als True Color Image erzeugt wird. Ich habe jetzt anderthalb Stunden herumprobiert, bis ich eine funktionierende Aufrufsequenz gefunden habe. 
Kannst Du bitte mal die beigefügte Version testen?
Viele Grüße
Boris
Edit: Anhang entfernt
			
			
			
				Zitat von: Dr. Boris Neubert am 05 Januar 2020, 09:56:42
Hallo,
das Problem besteht in 02_RSS.pm in der Art, wie das Bild neu als True Color Image erzeugt wird. Ich habe jetzt anderthalb Stunden herumprobiert, bis ich eine funktionierende Aufrufsequenz gefunden habe. 
Kannst Du bitte mal die beigefügte Version testen?
Viele Grüße
Boris
Hallo, danke vorab ich werde mal eben das Testen
mfg Tobias
			
 
			
			
				So ich habe die neue 02_RSS.pm in meinen System eingepflegt und mit Reload die Datei geladen.
Desweiteren habe ich bgcolor FFFFFF7F gesetzt. das ergebnis bleibt aber das gleiche.....
mfg Tobias
			
			
			
				Okay, ich sehe, was passiert. Nur die erste Auslieferung ist transparent. Ich gehe der Sache nach.
Hier zum Abgleich meine Definition:
define FrameRSS RSS png HOSTNAME layout-transparent
attr FrameRSS bgcolor 0000007f
attr FrameRSS refresh 5
font /usr/share/fonts/truetype/liberation/LiberationSans-Regular.ttf
rgb c0c0c0                      # HTML color notation, RGB
pt 18
date 25 470
pt 48                           # font size in points
time 20 525                     # time @ (0.1*width, 0.9*height)
rgb "ff0000"
pt 18
text 0.1 0.1 { $defs{"FrameRSS"}{fhem}{counter} }
textboxf 0.5 0.5 100 "80ff0040" "Blubber"
			
			
			
				Super Danke!
Schönen Sonntag noch!
mfg Tobias
			
			
			
				Hallo Tobias,
die GD-Library hat das Problem, dass das zweite und weitere Bilder keine Transparenz annehmen. Ich habe nun einen komischen Code eingebaut, der als Workaround aber bei mir funktioniert. Bitte finde anbei die aktualisierte Version mit der Bitte um Test.
Viele Grüße
Boris
Edit: Anhang entfernt
			
			
			
				Zitat von: Dr. Boris Neubert am 06 Januar 2020, 11:29:24
Hallo Tobias,
die GD-Library hat das Problem, dass das zweite und weitere Bilder keine Transparenz annehmen. Ich habe nun einen komischen Code eingebaut, der als Workaround aber bei mir funktioniert. Bitte finde anbei die aktualisierte Version mit der Bitte um Test.
Viele Grüße
Boris
Hallo,
wenn ich heute Abend wieder zuhause bin werde ich es testen und berichten!
mfg Tobias
			
 
			
			
				Zitat von: Dr. Boris Neubert am 06 Januar 2020, 11:29:24
Hallo Tobias,
die GD-Library hat das Problem, dass das zweite und weitere Bilder keine Transparenz annehmen. Ich habe nun einen komischen Code eingebaut, der als Workaround aber bei mir funktioniert. Bitte finde anbei die aktualisierte Version mit der Bitte um Test.
Viele Grüße
Boris
So ich bin jetzt dazu gekommen zu Testen, leider stürzt mein FHEM direkt nach dem Reload des Modules ab. Habe auch einen Kompletten Neustart probiert, aber das gleiche. FHEM Startet dann nicht mehr.!
MFG Tobias
Meldung im Log:
2020.01.06 16:31:34 1: PERL WARNING: Subroutine plotFromUrl redefined at ./FHEM/02_RSS.pm line 1093.
Can't call method "jpeg" on an undefined value at ./FHEM/02_RSS.pm line 1045.
2020.01.06 16:32:28 1: SipCall2[24114], can´t find my parent 24068 in process list !
Died at ./FHEM/96_SIP.pm line 386.
			 
			
			
				Hallo,
hatte noch Debugging-Reste übersehen. Sorry.
Allerdings führt bei mir die letzte Version zu Falschfarben-Bildern. Ich habe jetzt mal auf Palette-basierte Bilder umgestellt. Damit bekomme ich sowohl die Transparenz hin als auch sehen meine Bilder im Fotorahmen immer noch adrett aus.
Anbei die neue Version mit der Bitte um Test.
Viele Grüße
Boris
			
			
			
				Zitat von: Dr. Boris Neubert am 06 Januar 2020, 17:48:37
Hallo,
hatte noch Debugging-Reste übersehen. Sorry.
Allerdings führt bei mir die letzte Version zu Falschfarben-Bildern. Ich habe jetzt mal auf Palette-basierte Bilder umgestellt. Damit bekomme ich sowohl die Transparenz hin als auch sehen meine Bilder im Fotorahmen immer noch adrett aus.
Anbei die neue Version mit der Bitte um Test.
Viele Grüße
Boris
So ich habe die neue Version erneut getestet, aber ich meine das Bild ist immer noch nicht Transparent (siehe Anhang) oder ich habe einen Denkfehler!
Meine bgcolor 0000007f!
Ich habe mein Bild angehängt!
mfg Tobias
			
 
			
			
				Hallo Tobias,
ja, da ist keine Transparenz. Jetzt bin ich ratlos.
Wir haben dasselbe Modul, dasselbe Layout und dieselbe Definition vom RSS-Device. Oder? Kannst Du bitte mal eine Definition posten (list DeinRSSDevice)?
Viele Grüße
Boris
			
			
			
				Noch eine Frage bitte: welches System?
			
			
			
				Zitat von: Dr. Boris Neubert am 06 Januar 2020, 19:59:16
Noch eine Frage bitte: welches System?
hier ein list
Internals:
   .embed     
   DEF        png 192.168.0.185 /mnt/usb/fhem/rss/rss_320x240_app_aussen.layout
   FUUID      5e0a4322-f33f-66a9-3a1d-996a1c0f90a6ff99
   LAYOUTFILE /mnt/usb/fhem/rss/rss_320x240_app_aussen.layout
   NAME       APP_Temp_Aussen_RSS_320x240
   NOTIFYDEV  global
   NR         843
   NTFY_ORDER 50-APP_Temp_Aussen_RSS_320x240
   TYPE       RSS
   READINGS:
   fhem:
     bgnr       1
     counter    37
     filename   /mnt/usb/fhem/rss/rss_320x240_app_aussen.layout
     hostname   192.168.0.185
     layout     font /usr/share/fonts/truetype/liberation/LiberationSans-Regular.ttf
rgb c0c0c0                      # HTML color notation, RGB
pt 18
date 25 470
pt 48                           # font size in points
time 20 525                     # time @ (0.1*width, 0.9*height)
rgb "ff0000"
pt 18
text 0.1 0.1 { $defs{"APP_Temp_Aussen_RSS_320x240"}{fhem}{counter} }
textboxf 0.5 0.5 100 "80ff0040" "Blubber"
     style      png
     t          1578337251.88723
     useTextAlign 1
     useTextWrap 1
Attributes:
   bgcolor    0000007f
   room       RSS
   size       320x240System ist eine Raspberry 3 mit Debian Jessi
			
 
			
			
				Was für ein Computer und was für ein Betriebssystem?
			
			
			
				Zitat von: Dr. Boris Neubert am 06 Januar 2020, 20:22:08
Was für ein Computer und was für ein Betriebssystem?
System ist eine Raspberry 3 mit Debian Jessi
			
 
			
			
				Hallo,
so ich habe es nochmal auf meinen anderen Pi mit FHEM probiert, es besteht aber weiterhin das gleiche Problem.
Was könnte ich noch testen?
Habe auch alle relevanten Pakete in Debian Installiert.
    
libgd-graph-perl
libgd-text-perl
libimage-librsvg-perl
libxml-simple-perl
diese sind auch aktuell.
mfg Tobias
			
			
			
				Hallo, will es selbst auf Raspberry testen, bin aber noch nicht dazugekommen. Viele Grüße, Boris
			
			
			
				Zitat von: Dr. Boris Neubert am 08 Januar 2020, 18:26:39
Hallo, will es selbst auf Raspberry testen, bin aber noch nicht dazugekommen. Viele Grüße, Boris
Hallo, ist okey Danke.
MfG Tobias
			
 
			
			
				Hallo,
ich habe jetzt noch eine Weile herumprobiert und es ist mir nicht gelungen, das gewünschte Ergebnis herzustellen. Das erste Bild nach Programmstart hat Transparenz. Bei den weiteren Bildern fehlt entweder die Transparenz oder die überblendeten Bilder zeigen Falschfarben. 
Ich kann das Problem soweit einengen, dass es entweder mit den überblendeten Bildern (img im Layout) oder mit einem "Gedächtnis" der verwendeten GD-Library zu tun hat. Ich bin geneigt, dass für einen Bug in der Library zu halten.
Ende vom Lied: es geht nicht.
Das tut mir leid.
Viele Grüße
Boris
			
			
			
				Zitat von: Dr. Boris Neubert am 18 Januar 2020, 17:32:03
Hallo,
ich habe jetzt noch eine Weile herumprobiert und es ist mir nicht gelungen, das gewünschte Ergebnis herzustellen. Das erste Bild nach Programmstart hat Transparenz. Bei den weiteren Bildern fehlt entweder die Transparenz oder die überblendeten Bilder zeigen Falschfarben. 
Ich kann das Problem soweit einengen, dass es entweder mit den überblendeten Bildern (img im Layout) oder mit einem "Gedächtnis" der verwendeten GD-Library zu tun hat. Ich bin geneigt, dass für einen Bug in der Library zu halten.
Ende vom Lied: es geht nicht.
Das tut mir leid.
Viele Grüße
Boris
Hallo, ist doch nicht so schlimm. 
Ich habe einen anderen Weg gefunden wie ich es am besten umsetzen kann. 
Ich nutze das Linux Programm Imagemagick. Per Script lade ich mir das RSS png Bild, dieser wandelt mir den weißen Hintergrund in Transparent um und Speichert mir das Bild alle zb. 10 min. Vorteil dieser Methode ist außerdem wenn einige Handys das Bild nutzen wird nicht so viel Last auf dem FHEM System erzeugt, weil das Bild auf einen anderen Server oder so liegt.  Das Bild kann ich dann in meiner App (auf meinen Homescreen als Widget nutzen). 
Danke für die Bemühungen!
Mfg Tobias