📜  Pycairo – 创建不同的形状

📅  最后修改于: 2022-05-13 01:54:33.517000             🧑  作者: Mango

Pycairo – 创建不同的形状

在本文中,我们将看到如何在Python中使用Pycairo创建不同的形状。在pycairo中,主要有矩形和拱形两种形状,用于制作方形或半圆形等其他形状。多边形形状是在线条的帮助下创建的。

SVG文件是使用二维图形矢量格式的图形文件,该格式使用基于 XML 的文本格式定义图像。作为在 Web 上显示矢量图形的标准格式,开发了 SVG 文件。

PyCairo是一个Python模块,为cairo图形库提供绑定。该库用于在Python中创建 SVG,即矢量文件。为了安装pycairo模块,我们将使用下面给出的命令:

pip install pycairo

打开 SVG 文件进行查看(只读)的最简单快捷的方法是使用现代 Web 浏览器,如 Chrome、Firefox、Edge 或 Internet Explorer——几乎所有这些浏览器都应该为 SVG 格式提供某种渲染支持。

循序渐进的方法:

  • 导入pycairo模块。
  • 创建一个 SVG 表面对象并向其添加上下文。
  • 使用矩形函数创建矩形和正方形。
  • 现在使用笔画方法删除任何移动的笔线。
  • 在笔划内使用圆弧方法创建一个四分之一圆和整圆,这样额外的线就会出现。

以下是基于上述方法的完整程序:

Python3
# importing pycairo
import cairo
  
  
# creating a SVG surface 
# here geek1 is file name & 700, 700 is dimension
with cairo.SVGSurface("geek1.svg", 700, 700) as surface:
      
    # creating a cairo context object
    context = cairo.Context(surface)
      
    #creating a rectangle(square)
    context.rectangle(50, 50, 100, 100)
      
    #creating a rectangle
    context.rectangle(200, 200, 100, 50)
      
    #stroke the context to remove the moved pen 
    context.stroke()
      
    #creating a Arc
    context.arc(330, 60, 40, 500, 2*22/7)
      
     #stroke the context to remove the moved pen 
    context.stroke()
     
     #creating a Circle
    context.arc(500, 60, 40, 0, 2*22/7)
      
      
    # setting scale of the context
    context.scale(700, 700)
      
    # setting line width of the context
    context.set_line_width(0.0025)
      
     # setting color of the context
    context.set_source_rgba(0, 0, 0, 1)
      
    # stroke out the color and width property
    context.stroke()


输出 :