Grafiken richtig einfügen und skalieren

  • Hallo Gemeinde,

    wenn ich in Programme Grafikdateien implementiere, z.B. ein Firmenlogo, dann erscheint das Bild immer "verpixelt", bzw. verzerrt. Gibt es eine Möglichkeit Bilder verzerrfrei und unverpixelt in das GUI zu implementieren, bzw. das Bild entsprechend der Displayauflösung/Fenstergröße zu skalieren, damit es immer scharfkantig und richtig dargestellt wird? Selbst das Windowslogo aus der

    Hilfe von GUICtrlCreatePic wird nicht richtig dargestellt, wenn sich die Auflösung ändert...


    Code aus der Hilfe:

    Code
    GUISetBkColor(0xE0FFFF)
        Local $idPic = GUICtrlCreatePic("..\GUI\mslogo.jpg", 50, 50, 200, 50) ; Originalgröße: 255, 40

    Wenn ich die Originalgröße der GuiCtrlCreatePic-func mitgebe ist das Bild scharf. Die verwendete Größe indes lässt das Bild unscharf erscheinen.

    Da man ja nie weiß, was der Anwender für eine Auflösung fährt, ist das Implementieren von mehreren Bildern entsprechender Größe ja nicht wirklich elegant...

  • Da man ja nie weiß, was der Anwender für eine Auflösung fährt, ist das Implementieren von mehreren Bildern entsprechender Größe ja nicht wirklich elegant...

    Du musst das Bild in der höchsten, von Deinem Programm unterstützten, Auflösung mitliefern und dann entsprechend der skalierten Bildgröße das Bild runterskalieren (mit GDI+) und in das Pic-Control einfügen.

    Beim runterskalieren musst Du das Seitenverhältnis des Bildes beibehalten (bei z.B. 300x200 Px muss das kleinere Bild auch das 3 zu 2 Verhältnis haben).