SuperAPI AI 工具集

drawing-with-pycairo

设计与创作

查看项目

更新于 10-16 02:35

技能介绍

用途:用 pycairo 绘制位图、PDF/SVG/PostScript 矢量文件与动画帧,并借助 scripts/cairokit.py 补齐 cairo 本身不具备的能力,scripts/selftest.py 可做自检。

主要能力:cairo 支持纯色、渐变、网格渐变与图像填充,20 余种合成算子,输出 PNG、PDF、SVG、PostScript。cairokit 提供 new_image、label、pixels/from_array/from_rgb_float、gauss_blur/blurred/glow、Shaper 文字轮廓与 text_on_curve、boolean 布尔运算、stroke_to_path、project/painter_order/gouraud_mesh、frames_to_mp4/contact_sheet、pango() 等。

安装与用法:pip install --break-system-packages pycairo numpy uharfbuzz fonttools skia-pathops;运行 python3 /mnt/skills/user/drawing-with-pycairo/scripts/selftest.py /tmp/cairo-selftest 查看版本、Pango 可用性与接触表。使用前将 scripts 目录加入 sys.path 后 from cairokit import *。每次渲染后应读取 PNG 检查,动画可用 ffmpeg -ss T -i out.mp4 -frames:v 1 f.png 抽帧。

限制:show_text/text_path 逐码点映射,无连字、重排与字距调整,仅适合 ASCII;其他文字用 Pango 或 Shaper,Shaper 不做换行、双向文本与字体回退。无深度缓冲,三维靠画家算法排序。SVG 不支持网格渐变,会被栅格化。SVGSurface/PDFSurface 必须 finish()。cairo 单核渲染,大批量建议用多进程。ImageSurface 最大边 32767。

适用场景:矢量插图、文字轮廓、动画帧合成、简单三维着色渲染。数据图表、照片处理、光栅转 SVG、真实三维渲染等应改用其他工具。