Python plugin dev: LoadPixmap und PNG mit 4bpp gehtned :(

Wir haben aktuell ein Problem mit dem Board und arbeiten an der Lösung...
  • ahoy!


    bin nun auf enigma2 (DM800) umgestiegen und hab hier ein kleines technisches problem beim schreiben eines plugins. und zwar möchte ich in meinem Stock Quote plugin nicht nur aktienkurse in textform anzeigen, sondern auch gleich ein kleines intraday chart in der liste anzeigen lassen, quasi wie die thumbnails im excellenten youtubbe plugin mit der pixmap menulist..


    zb von yahoo finance gibts schöne kleine automatisch generierte PNGs, die lädt er auch brav runter, aber will sie nicht verarbeiten. es steht folgende fehlermeldung im systemlog:


    > cannot blit 32bpp from 4bpp


    somit gehe ich davon aus, dass LoadPixmap bzw loadPNG nur 32bpp PNGs frisst. leider haben aber alle bekannten quellen für solche charts nur entweder GIF (was nicht von LoadPixmap unterstützt wird), oder eben PNG aber halt nicht 32bpp. charts im JPG format findet man so gut wie gar nicht.


    desshalb meine frage.. hat jemand ne zündende idee wie ich die grafiken doch noch im plugin anzeigen lassen könnte? gibts evtl einen workaround, oder einen "converter". hab schon daran gedacht die bilder erst durch einen online bildkonvertierdienst zu schleusen aber konnte keinen vernünftigen dienst finden, der das bild auch zügig liefert.


    für anregungen wäre ich dankbar.. und falls was draus wird poste ich am schluss auch gern das resultat, insofern jemand interesse hat sein finanzdisaster via DM am TV screen anzuschauen :winking_face:


    dankeeee

  • danke für den link, vali!


    der link bestätigt mein problem :)


    klar, wenn ichs händisch mit GIMP öffne, mit mehr farbtiefe speichere und dann reinschmuggle, zeigts das bildchen prima an, das war auch so zu erwarten. ist aber leider keine lösung fürs problem.


    die quelle der bilder kann ich leider nicht beeinflussen, da farbtiefe von yahoo vorgegeben.


    eine "externe" aufbereitung der bilder (zb über einen applikationsserver, servlet etc) möchte ich eigentlich vermeiden um keine abhängigkeiten zu haben.


    ich such eher ne alternative oder workaround für das loadPNG. oder halt ein "gebastel" mit zb sowas wie der "convert" befehl von imagemagik welches das bild auf der box erst umkonvertiert damits der heiklen tante enigma2 dann auch passt

  • Zitat

    Originally posted by nobody9
    hallo lolcat,
    schaue mal hier:


    PIL für DM7025


    nobody9


    jajajajaja, genau sowas! 8-)
    werd das teil gleich mal studieren, sieht auf den ersten blick schonmal vielversprechend aus!


    danke!!!

  • genial! es hat geklappt! :) :)


    das erwähnte imaging ipkg hat sich übrigens ins python2.4 anstatt 2.5 installiert. gibts da irgendwo eine neuere version, schon als ipkg vorgekaut? es läuft zwar nun mit einem softlink vom 2.5 heraus aber wär halt schon eleganter ne aktuelle zu haben :)


    danke für die unterstützung!!

  • wow, sehr schön! vielen dank! wo Du die wohl jetzt so schnell hergezaubert hast? :winking_face:


    diese version motzt beim installieren auch nicht mehr wegen libjpg62.
    habs getestet und scheint zu funktionieren!


    sehr hilfreich, thx!!


    das plugin fängt langsam an mir zu gefallen. so hat sich der umstieg auf enigma2 schon gelohnt :)

  • ok, werds nächste woche mal online stellen.
    danke nochmals an alle für die rasche hilfe

  • hi,


    ich bin beim suchen nach ner lösung für mein problem auf diesen thread gestossen.


    ich versuche mein plugin dazu zu bringen ein bild an einen skin weiterzureichen.
    das funktioniert auch wunderbar mit 8bit png, aber eben nicht mit jpg oder non-8bit png. wird ja von ePixmap() nicht unterstützt.


    ich brauchs aber unbedingt für jpg.


    aktuell wirds bei mir so gemacht:


    Code
    self["FolderImageScreen"] = Pixmap()
    self["FolderImageScreen"].instance.setPixmapFromFile(folderjpg)


    nun würd ich gern folgendes erreichen:
    - so abändern, dass es auch jpg öffnet
    - das bild auf eine vorgegebene grösse skalieren (proportional)


    könnt ihr mir dabei eventuell helfen?