Raspberry Pi使用PygObject缩放图像找不到INTERP_BILINEAR标志问题问询
INTERP_BILINEAR是旧版PyGTK的常量命名,在PygObject的内省绑定体系中,所有插值类型参数都已收拢到GdkPixbuf.InterpType枚举类下,你需要的双线性插值对应值为GdkPixbuf.InterpType.BILINEAR。
修正后的代码示例:
pixbuf = GdkPixbuf.Pixbuf.new_from_file(random.choice(pics)) # 替换原有占位的INTERP_BILINEAR即可 pixbuf = pixbuf.scale_simple(100, 100, GdkPixbuf.InterpType.BILINEAR) # 注意原代码此处方法名大小写有误,PygObject中对应方法为Gtk.Image.new_from_pixbuf img = Gtk.Image.new_from_pixbuf(pixbuf)
可选插值类型说明:
GdkPixbuf.InterpType.NEAREST:最近邻插值,速度最快,缩放质量最低,适合像素风格素材GdkPixbuf.InterpType.TILES:瓷砖插值,质量接近最近邻,边缘处理更平滑GdkPixbuf.InterpType.BILINEAR:双线性插值,速度和质量平衡,适合常规缩放场景GdkPixbuf.InterpType.HYPER:双三次插值,质量最高,速度最慢,适合对清晰度要求高的场景
你检索不到INTERP_BILINEAR的原因是你查询的示例大多是适配旧版PyGTK的过时内容,PygObject已经废弃了扁平式的常量命名规则,所有同类枚举值都会归类到对应命名空间的枚举类下。
内容的提问来源于stack exchange,提问作者Timothy Grant
相关产品推荐
相关产品推荐

