RSS und Transparenter Hintergrund

Begonnen von sig10680, 04 Januar 2020, 12:37:52

Vorheriges Thema - Nächstes Thema

sig10680

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

Dr. Boris Neubert

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

Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

sig10680

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!

Dr. Boris Neubert

Ach so, es geht um das finale Bild, das RSS erzeugt.

Es müsste mit

attr DeinRSS bgcolor FFFFFF7F

gehen.

Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

sig10680

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



Dr. Boris Neubert

Hmm. Wenn Du bgcolor 000000 setzt, wird dann der Hintergrund schwarz?
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

sig10680

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.

Dr. Boris Neubert

Kann denn das Widget auf dem Smartphone überhaupt mit Transparenz umgehen? Hast Du mal ein Bild mit Transparenz selbst erstellt und das versucht, anzuzeigen?
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

sig10680


Dr. Boris Neubert

#9
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
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

sig10680

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

sig10680

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

Dr. Boris Neubert

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"
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

sig10680

Super Danke!

Schönen Sonntag noch!

mfg Tobias

Dr. Boris Neubert

#14
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
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

sig10680

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

sig10680

#16
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.

Dr. Boris Neubert

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
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

sig10680

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

Dr. Boris Neubert

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
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

Dr. Boris Neubert

Noch eine Frage bitte: welches System?
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

sig10680

#21
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       320x240



System ist eine Raspberry 3 mit Debian Jessi

Dr. Boris Neubert

Was für ein Computer und was für ein Betriebssystem?
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

sig10680

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

sig10680

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

Dr. Boris Neubert

Hallo, will es selbst auf Raspberry testen, bin aber noch nicht dazugekommen. Viele Grüße, Boris
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

sig10680

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

Dr. Boris Neubert

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
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

sig10680

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