バイナリデータをに取得するのに苦労していgtk.gdk.pixbuf
ます。
これは私の問題を明らかにするはずです:
file = open("image.jpg", "rb")
//Ultimately this is going to come from a BLOB
binary = f.read()
//I created a pixbuf directly from the jpg
//and took the rowstride values &c. from that
pixbuf = gtk.gdk.pixbuf_new_from_data(
binary, gtk.gdk.COLORSPACE_RGB, False, 8 , 450, 640, 1352)
これは次の場合に失敗します。
ValueError: data length (90825) is less then required by the other parameters (865280)
私の現在の回避策は、バイナリデータをファイルに書き込んでPixbuf
から、そのファイルからを作成することです。それはとてもハッキーな感じがします。私はデータベースからバイナリデータを読み取っているので、バッファから直接pixbufを作成できるソリューションが本当に必要です。
データベースからを読み取ってファイルに書き込むだけで簡単な理由がわかりませんBLOB
。ファイルをpixbufとしてロードしますが、バッファから直接移動するのは困難です。
私は何が間違っているのですか?