polygon - 使用 pyvips 绘制多条折线

标签 polygon polyline vips

我想在大图像上绘制多边形/折线。

所以,我正在从 PIL/opencv 迁移到 pyvips。最近,我遇到了 loadsvg_buffer 方法,它实际上可以在不使用 draw_maskdraw_image 方法的情况下完成此操作。

有人能给我一个使用 loadsvg_bufferdraw_maskdraw_image 的填充示例吗?该文档没有多大帮助。

另外,如果我必须绘制多条折线怎么办?

欢迎任何其他见解。

最佳答案

svgload 文档在这里:

https://libvips.github.io/libvips/API/current/VipsForeignSave.html#vips-svgload

您可以绘制任何 SVG 图形。例如:

import pyvips

x = pyvips.Image.svgload_buffer(b"""
    <svg viewBox="0 0 200 200">
      <circle r="100" cx="100" cy="100" fill="#900"/>
    </svg>
""")

x.write_to_file("x.png")

生成:

red circle

libvips SVG 加载器速度非常快,可以制作任何大小的图像。它逐步渲染,因此也不需要太多内存。

使用 bool 运算符用结果掩盖其他图像,或使用composite将图像与 PDF 混合模式一起分层。

关于polygon - 使用 pyvips 绘制多条折线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57168846/

相关文章:

algorithm - 多边形-多边形-交集在特殊情况下失败

r - 在R中用多边形提取点

css - CSS 三 Angular 形是如何工作的?

IOS 将 2 个 GMSMarkers 之间的箭头线绘制到 Google map 中

google-maps - swift 3 : How to remove the tracked polyline in Google map

image-processing - libvips 旋转在设备上没有剩余空间

c++ - OpenGL 中的缓冲区到底是什么,我如何使用多个缓冲区来发挥我的优势?

ios - 在 Swift 中记录 CLLocationPoints 时不准确

c - 如何使用 VIPS 添加文本中字符之间的间距?

ruby-on-rails - Vips - 在 Ruby 中调整大小后在图像顶部添加文本