[gelöst] wx.Image.Rescale / Rezize / Scale Qualität

Plattformunabhängige GUIs mit wxWidgets.
DocFisher
User
Beiträge: 50
Registriert: Donnerstag 29. November 2007, 21:04
Wohnort: Berlin
Kontaktdaten:

[gelöst] wx.Image.Rescale / Rezize / Scale Qualität

Beitragvon DocFisher » Montag 4. Februar 2008, 13:53

Hallo!

Da es nicht so einfach zu sein scheint, auf Mac Os X Tiger das PIL-Modul zu nutzen, versuche ich gerade, mit wx.Image Bilder zu verkleinern.
Allerdings ist die Qualität mehr schlecht als recht, gerade im Vergleich zu PIL.

Liegt das an wx.Image oder an meinem Code?

Hier die "PIL-Variante":

Code: Alles auswählen

def createImages(Bild, ItemID):
    im = Image.open(Bild)
   
    out_icon = im.resize((26, 26))
    out_pic = im.resize((400, 325))
    print "resized ", Bild

    iconpath = "./icons/e_icon" + str(ItemID) + ".png"
    picpath = "./pics/e_pic" + str(ItemID) + ".png"
   
    out_icon.save(iconpath, "png")
    out_pic.save(picpath, "png")
    print "saved"   

und hier die wx.Image-Variante:

Code: Alles auswählen

def createImages(Bild, ItemID):
    im = wx.Image(Bild, wx.BITMAP_TYPE_ANY)
   
    out_icon = im.Scale(26, 26)
    out_pic = im.Scale(400, 325)
    print "resized ", Bild

    iconpath = "./icons/e_icon" + str(ItemID) + ".png"
    picpath = "./pics/e_pic" + str(ItemID) + ".png"
   
    out_icon.SaveFile(iconpath, wx.BITMAP_TYPE_PNG)
    out_pic.SaveFile(picpath, wx.BITMAP_TYPE_PNG)
    print "saved" 


Grüße aus Berlin, Doc
Zuletzt geändert von DocFisher am Montag 4. Februar 2008, 14:51, insgesamt 1-mal geändert.
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5554
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Telfs (Tirol)
Kontaktdaten:

Beitragvon gerold » Montag 4. Februar 2008, 14:20

Hallo DocFisher!

Ich habe es noch nicht ausprobiert. Aber vielleicht bringt es was, wenn du beim Skalieren den Parameter "quality" mit angibst.

Code: Alles auswählen

out_pic = im.Scale(400, 325, quality = wx.IMAGE_QUALITY_HIGH)

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
DocFisher
User
Beiträge: 50
Registriert: Donnerstag 29. November 2007, 21:04
Wohnort: Berlin
Kontaktdaten:

Beitragvon DocFisher » Montag 4. Februar 2008, 14:51

Hallo Gerold,

1000 Dank. sieht gut aus! Diesen Parameter habe ich in "wxPython in action" nicht gesehen. Aber vielleicht sollte ich doch ein paar mehr Internet-quellen hinzuziehen.

Vielen Dank!

Gruß, Doc

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder