- UID
- 2546
- 积分
- 159
- 帖子
- 30
- 主题
- 5
- 论坛币
- 868
- 威望
- 0
- EP值
- 134
- MP值
- 0
- 阅读权限
- 50
- 注册时间
- 2015-5-9
- 在线时间
- 52 小时
- 最后登录
- 2024-10-20
|
本帖最后由 Seekladoom 于 2022-3-26 22:05 编辑
来源链接:
https://stackoverflow.com/questi ... -with-pygobject-api
以下内容为上述链接中原文的机翻:
我正在移植一个 Python2 脚本,该脚本使用 Pango 将文本绘制到开罗表面。pangocairo使用带有包的旧 PyGtk API 可以正常工作。我的系统(Debian Jesse)没有用于 PyGtk 的 Python3 包,而是使用带有 PyGObject API 的较新的 Gtk+ 库。
我想创建一个pangocairo.CairoContext对象,但新 API 中似乎缺少它。该PangoCairo包有一个create_context()功能,但它生成一个PangoContext没有我需要的方法的对象。
到目前为止,我有这个:
- import cairo
- from gi.repository import Pango
- from gi.repository import PangoCairo
- surf = cairo.ImageSurface(cairo.FORMAT_ARGB32, 8, 8)
- ctx = cairo.Context(surf)
- pctx = PangoCairo.create_context(ctx) # Creates a PangoContext
- pctx.set_antialias(cairo.ANTIALIAS_SUBPIXEL) # This fails
复制代码 有效的旧 Python2 代码:
- import cairo
- import pango
- import pangocairo
- surf = cairo.ImageSurface(cairo.FORMAT_ARGB32, 8, 8)
- ctx = cairo.Context(surf)
- pctx = pangocairo.CairoContext(ctx)
- pctx.set_antialias(cairo.ANTIALIAS_SUBPIXEL)
复制代码
有人对此有解决方案吗?是否有任何关于如何PangoCairo与新 API 一起使用的好的文档?
|
|