线条样式(Line Styles)

使用线条样式,你可以控制线条绘制的方式。常用的线条样式有:

  • 线宽(line width)
  • 线型(line shape)

线宽(Line Width)

你可以使用set_line_width()/get_line_width()来获取或者设置线宽。

下面的程序绘制了一个边框宽度为10的矩形。

from easygraphics import *

def main():
    init_graph(400, 300)
    set_line_width(10)
    draw_rect(50, 50, 350, 250)
    pause()
    close_graph()

easy_run(main)

预定义线型常量

使用线型,你可以绘制各种虚线。使用set_line_style()/get_line_style()来设置线型。

solid_line dash_line dot_line
LineStyle.SOLID_LINE LineStyle.DASH_LINE LineStyle.DOT_LINE
dash_dot_line dash_dot_dot_line no_pen
LineStyle.DASH_DOT_LINE LineStyle.DASH_DOT_DOT_LINE LineStyle.NO_PEN

下面的程序使用虚线画了一个矩形。

from easygraphics import *

def main():
    init_graph(400, 300)
    set_line_width(10)
    set_line_style(LineStyle.DASH_LINE)
    draw_rect(50, 50, 350, 250)
    pause()
    close_graph()

easy_run(main)

自定义线型

如果预定义的线型不符合需要,你可以设定自定义线型。你可以这样实现:

  1. 使用get_target()或create_image()来获取你需要的Image对象。
  2. 使用Image对象的get_pen()方法来获取画笔,它是一个PyQt的 QPen 对象。
  3. 使用画笔的 setDashPattern() 方法来设置自定义线型。
from easygraphics import *

def main():
    init_graph(400, 300)
    set_line_width(10)
    target_image = get_target()
    pen = target_image.get_pen()
    pen.setDashPattern([1, 5, 2, 5])
    draw_rect(50, 50, 350, 250)
    pause()
    close_graph()

easy_run(main)

更多线条样式

获取画笔对象后,可以对其他的线条样式和画笔属性进行设置。参见 QPen文档