pixbuf ist langsam

Programmierung für GNOME und GTK+, GUI-Erstellung mit Glade.
Antworten
ska.ndal
User
Beiträge: 24
Registriert: Freitag 6. November 2009, 16:02

hallo,

ich arbeite gerade mit iconview und füge dabei bilder per pixbuf ein. ich finde es extrem langsam. ich habe es eben mit 1500 bildern getestet und es hat schon mindestens 30min gedauert. gibt es nicht eine möglichkeit, wie ich schnell kleine bilder (80x80px) erstellen kann? und wie kann ich das am besten mit dem seitenverhältnis machen? ich habe jetzt immer mit Image die größe berechnet und dann selber runtergerechnet.

kann mir wer helfen? danke, ska.ndal

hier noch mein codeschnipsel zum einfügen von elementen in iconview

Code: Alles auswählen

def icon_add(self, id, uri):
    self.pixbuf = gtk.gdk.pixbuf_new_from_file(uri)
    img = Image.open(uri)
    (width, height) = img.size
    del img
    if width <= height:
      set_width = int(self.iconView_size * float(width) / height)
      set_height = self.iconView_size
    else:
      set_width = self.iconView_size
      set_height = int(self.iconView_size * float(height) / width)
    a = self.pixbuf.scale_simple(set_width, set_height, gtk.gdk.INTERP_BILINEAR)
    self.icon_model.append([id, a])
ska.ndal
User
Beiträge: 24
Registriert: Freitag 6. November 2009, 16:02

hab jetzt gtk.gdk.pixbuf_new_from_file_at_size(uri, set_width, set_height) anstelle von pixbuf_new_from_file() und pixbuf_scale_simple() genommen und es funktioniert auch schneller. mal sehn ob das mich dann glücklich macht?!
Antworten