images/pycairo.svg


pycairo是一個python模塊,為 cairo graphics library . 這取決于 cairo >= 1.13.1 并與 Python 2.7+ 以及 Python 3.5+ . pycairo,包括本文檔,根據 LGPLv2.1 以及 MPLv1.1 .

pycairo綁定的設計目的是盡可能接近cairo C API,并且僅在以更“pythonic”的方式更好地實現的情況下會有改變。

pip install pycairo

安裝pycairo需要包含其頭的cairo。有關詳細信息,請參閱“Getting Started<https://pycairo.readthedocs.io/en/latest/getting_started.html> uuuuuu”。


https://cdn.rawgit.com/pygobject/pycairo/master/docs/images/example.svg
import cairo

with cairo.SVGSurface("example.svg", 200, 200) as surface:
    context = cairo.Context(surface)
    x, y, x1, y1 = 0.1, 0.5, 0.4, 0.9
    x2, y2, x3, y3 = 0.6, 0.1, 0.9, 0.5
    context.scale(200, 200)
    context.set_line_width(0.04)
    context.move_to(x, y)
    context.curve_to(x1, y1, x2, y2, x3, y3)
    context.stroke()
    context.set_source_rgba(1, 0.2, 0.2, 0.6)
    context.set_line_width(0.02)
    context.move_to(x, y)
    context.line_to(x1, y1)
    context.move_to(x2, y2)
    context.line_to(x3, y3)
    context.stroke()

pycairo綁定的功能:

  • 提供到cairo的面向對象接口。

  • 查詢對象的錯誤狀態并將其轉換為異常。

  • 提供可供其他Python擴展使用的C API。

如果 Pycairo 不是你需要的,看看 cairocffi ,這是一個與API兼容的包,使用 cffiQahirah ,它正在使用 ctypes 并且提供了一個更“pythonic”的API,而對匹配cairo C API的關注較少。

有關詳細信息,請訪問https://pycairo.readthedocs.io

https://travis-ci.org/pygobject/pycairo.svg?branch=master https://dev.azure.com/pygobject/pycairo/_apis/build/status/pygobject.pycairo https://codecov.io/gh/pygobject/pycairo/branch/master/graph/badge.svg
PyPI:

https://pypi.org/project/pycairo

焦油球:

https://github.com/pygobject/pycairo/releases

Git回購:

https://github.com/pygobject/pycairo

Bug跟蹤器:

https://github.com/pygobject/pycairo/issues

郵件列表:

https://lists.cairographics.org/cgi-bin/mailman/listinfo/cairo

有關更多詳細信息,請參見“:ref:reference_index”。

要使用pycairo庫:

import cairo

要生成/安裝庫,請執行以下操作:

python2/3 setup.py build
python2/3 setup.py install

運行測試:

python2/3 setup.py test

python 2版本支持 xpyb 默認禁用的集成。要啟用,請按以下方式生成:

python2 setup.py build --enable-xpyb
# and for running tests:
python2 setup.py test --enable-xpyb

有關pycairo代碼的示例,請參閱pycairo發行版附帶的“examples”目錄。

有關作者信息,請參閱git歷史記錄以及git歷史記錄中現已刪除的“changelog”文件。