Unsaubere Grafikdarstellung

  • Hallo,
    kann mir jemand sagen, warum die Grafik, die als jpg selber in Ordnung ist, in der Darstellung hier aber unsaubere kleine schwarze "Flecken" hat?


    Anliegend das 0.jpg und auch ein Bildschirmfoto, wie ich das sehe.

    Dank und Gruß
    Thomas

    Edit (autoBert): das Attachement, zum einfacheren DL, verlinkt

  • Ich habe schlechte Augen, außer das ich meinen Bildschirm wieder einmal säubern sollte, fällt mir beim Betrachten nichts auf. Und auch meine 1. Vermutung, das $WS_SIZEBOX damit zu haben könnte, hat sich nicht bestätigt. Egal wie ich die GUI-Größe verändere, das Ergebnis bleibt gleich.

  • Ich habe auch diese schwarzen Flecken/Punkte.
    Die Flecken verschwinden wenn man GUISetBkColor(0x000000) auskommentiert.
    Verwendet man z.B. GUISetBkColor(0xFF0000) sind die Flecken Rot.
    Auch im Format *.bmp sind die Flecken vorhanden.

    ~IRC: irc.afterworkchat.de #autoit

    Einmal editiert, zuletzt von Photon (16. Juli 2016 um 14:11)

    • Offizieller Beitrag

    Vermutlich hat das etwas damit zu tun, wie AutoIt die Transparenz handhabt (das Pixel in der oberen linken Ecke des Bildes bestimmt, welche Farbe transparent dargestellt wird).
    Merkwürdigerweise wird das Bild aber korrekt dargestellt, wenn man erst die GUI anzeigt (GUISetState) und dann das Bild erstellt (GUICtrlCreate).
    Oder man benutzt GDI+ zum laden der Bilder. Im Anhang meine UDF dazu.

  • Merkwürdigerweise wird das Bild aber korrekt dargestellt, wenn man erst die GUI anzeigt (GUISetState) und dann das Bild erstellt (GUICtrlCreate).

    Nein, denn das auch nur, wenn GUISetBkColor() VOR dem GUICtrlCreate() aufgerufen wird...

    Die "roten" Störpixel habe ich nur an den Pixeln, deren Orginalfarbe 0xF0F0F0 ist. Ob es beim Setzen des Backgrounds ein Problem (Little/Big Endian) mit dem von dir in der linken oberen Ecke angegebenen "transparenten" Pixel (denn das ist 0x0F0F0F) gibt, sollte man mal verifizieren. Wer dann noch Zeit und Muße hat, kann ein Ticket erstellen...

  • Die Lösung - s.Anlage: In Gimp -> Bild -> Modus -> Indiziert ... -> Internet optimierte Palette verwenden

    Das Bild habe ich ursprünglich als Vektorgrafik generiert, dann als png exportiert. Diese Einstellung oben ist die einzige von unzähligen Varianten in Gimp und Irfanview mit der ich aus dem png ein jpg machen konnte, das jetzt sauber abgebildet wurde...