库函数参考¶
子包(Subpackages)¶
函数和常量概览¶
初始化和关闭图形系统¶
close_graph () |
关闭绘图窗口。 |
init_graph (width, height, headless) |
初始化easygraphics系统,显示绘图窗口。 |
绘图设置¶
get_background_color (image) |
获取图片的背景色。 |
get_color (image) |
获取指定的图片的前景色(画笔颜色)。 |
get_composition_mode (image) |
获取指定图片的合成模式(Composition mode)。 |
get_drawing_pos (image) |
获取指定图片的“当前绘图位置”。 |
get_fill_color (image) |
获取指定图片的填充色。 |
get_fill_rule (image) |
获取填充多边形时所用的算法。 |
get_fill_style (image) |
获取指定图片的填充样式。 |
get_font (image) |
获取指定图片的字体。 |
get_font_size (image) |
获取指定图片的字体大小。 |
get_height (image) |
获取指定图片的高度。 |
get_line_style (image) |
获取指定图片的(画笔)线型。 |
get_line_width (image) |
获取指定图片的(画笔)线宽。 |
get_width (image) |
获取指定图片的宽度。 |
get_write_mode (image) |
获取指定图片的合成模式(Composition mode)。 |
get_drawing_x (image) |
获取指定图片”当前绘图位置”的横坐标x。 |
get_drawing_y (image) |
获取指定图片”当前绘图位置”的纵坐标y。 |
reset_view_port (image) |
恢复缺省的视口设置。 |
reset_window (image) |
恢复缺省的逻辑窗口设置。 |
restore_settings (image) |
恢复之前保存的绘图设置。 |
save_settings (image) |
保存当前的绘图设置。 |
set_background_color (color, image) |
设置和修改背景色。 |
set_caption (title) |
设置绘图窗口的标题 |
set_clip_rect (left, top, right, bottom, image) |
设置矩形剪裁区域。 |
set_clipping (clipping, image) |
设置是否启用剪裁。 |
set_color (color, image) |
设置指定图片的前景色。 |
set_composition_mode (mode, image) |
获取指定图片的合成模式(Composition mode)。 |
set_fill_color (color, image) |
设置指定图片的填充色。 |
set_fill_rule (rule, image) |
设置填充多边形时所用的算法。 |
set_fill_style (style, image) |
设置指定图片的填充样式。 |
set_font (font, image) |
设置指定图片的字体。 |
set_font_size (size, image) |
设置指定图片的字体大小。 |
set_line_style (line_style, image) |
设置指定图片的线型。 |
set_line_width (width, image) |
设置指定图片的线宽。 |
set_view_port (left, top, right, bottom, …) |
设置指定图片的视口。 |
set_window (left, top, width, height, image) |
设置指定图片的逻辑窗口。 |
set_write_mode (mode, image) |
获取指定图片的合成模式(Composition mode)。 |
text_height (image) |
返回指定图片的文字(字体)高度。 |
text_width (text, image) |
返回文字在指定图片中完整显示需要的宽度。 |
基本绘图函数¶
arc (x, y, start_angle, end_angle, radius_x, …) |
绘制一条椭圆弧,起始角度为“start_angle”,结束角度为“end_angle”。 |
bezier (x0, y0, x1, y1, x2, y2, x3, y3, image) |
绘制一条三次贝塞尔曲线(cubic bezier curve)。 |
bezier_point (p0, p1, p2, p3, t) |
计算三次贝塞尔曲线上参数值为t的点的位置 |
bezier_tangent (p0, p1, p2, p3, t) |
计算三次贝塞尔曲线上参数值为t的点的切线斜率。 |
chord (x, y, start_angle, end_angle, …) |
绘制一个空心椭圆弓形(弧+弦),起始角度为“start_angle”,结束角度为“end_angle”。 |
circle (x, y, r, image) |
画一个空心圆,圆心位于点(x,y)半径为r的。 |
clear_device (image) |
清除指定图片上已经绘制的内容(露出背景色)。 |
clear_view_port (image) |
清除视口中已经绘制的内容(露出背景色)。 |
curve (*points, image) |
绘制一条Catmull-Romy样条曲线。 |
curve_point (p0, p1, p2, p3, t) |
计算Catmull-Rom曲线上参数值为t的点的位置 |
curve_tangent (p0, p1, p2, p3, t) |
计算Catmull-Rom曲线上参数值为t的点的切线斜率。 |
draw_arc (x, y, start_angle, end_angle, …) |
绘制一条椭圆弧,起始角度为“start_angle”,结束角度为“end_angle”。 |
draw_bezier (x0, y0, x1, y1, x2, y2, x3, y3, …) |
绘制一条三次贝塞尔曲线(cubic bezier curve)。 |
draw_chord (x, y, start_angle, end_angle, …) |
绘制一个空心椭圆弓形(弧+弦),起始角度为“start_angle”,结束角度为“end_angle”。 |
draw_circle (x, y, r, image) |
以点(x,y)为圆心,r为半径画圆。 |
draw_curve (*points, image) |
绘制一条Catmull-Romy样条曲线。 |
draw_ellipse (x, y, radius_x, radius_y, image) |
以点(x,y)为中心,radius_x为x轴方向半径,radius_y为y轴方向半径,画矩形。 |
draw_line (x1, y1, x2, y2, image) |
在指定图片上画一条从点(x1,y1)到点(x2,y2)的线段。 |
draw_lines (*points, image) |
画多条直线。 |
draw_pie (x, y, start_angle, end_angle, …) |
画一个椭圆饼,起始角度为start_angle,结束角度为end_angle。 |
draw_point (x, y, image) |
在指定图片的点(x,y)处画一个点。 |
draw_poly_line (*end_points, image) |
画一条折线(ploy line)。 |
draw_polygon (*vertices, image) |
画一个多边形。 |
draw_quadratic (x0, y0, x1, y1, x2, y2, image) |
绘制一条二次贝塞尔曲线(quadratic bezier curve)。 |
draw_rect (left, top, right, bottom, image) |
画一个矩形,其左上角位于点(left,top),右下角位于点(right,bottom)。 |
draw_rect_text (x, y, width, height, *args[, …]) |
在指定的矩形区域中打印文字。 |
draw_rounded_rect (left, top, right, bottom, …) |
绘制圆角矩形,其左上角位于点(left,top)处,右下角位于(right,bottom)处。 |
draw_text (x, y, *args[, sep]) |
在给定的位置(x,y)处打印文字。 |
ellipse (x, y, radius_x, radius_y, image) |
画一个空心椭圆,椭圆圆心位于点(x,y),x轴坐标为radius_x,y轴坐标为radius_y。 |
fill_chord (x, y, start_angle, end_angle, …) |
绘制一个空心椭圆弓形(弧+弦),起始角度为“start_angle”,结束角度为“end_angle”。 |
fill_circle (x, y, r, image) |
填充一个实心圆,圆心位于点(x,y),半径为r。 |
fill_ellipse (x, y, radius_x, radius_y, image) |
填充一个实心椭圆,圆心位于点(x,y),x轴方向半径为radius_x, y轴方向为radius_y。 |
fill_pie (x, y, start_angle, end_angle, …) |
填充一个椭圆扇形,它的起始角度为start_angle,结束角度为eng_angle。 |
fill_polygon (*vertices, image) |
填充一个多边形。 |
fill_rect (left, top, right, bottom, image) |
画一个矩形,其左上角位于点(left,top),右下角位于点(right,bottom)。 |
fill_rounded_rect (left, top, right, bottom, …) |
填充一个圆角矩形,左上角位于点(left,top),右下角位于(right,bottom)。 |
flood_fill (x, y, border_color, image) |
使用泛洪(Flood fill)算法填充封闭图形。 |
get_pixel (x, y, image) |
获取指定像素的颜色。 |
line (x1, y1, x2, y2, image) |
在指定图片上画一条从点(x1,y1)到点(x2,y2)的线段。 |
line_rel (dx, dy, image) |
从当前绘图位置(x,y)到(x+dx,y+dy)画线,然后将当前绘图位置更新为(x+dx,y+dy)。 |
line_to (x, y, image) |
从当前绘图位置到(x,y)画线,然后将当前绘图位置更新为(x,y)。 |
lines (*points, image) |
画多条直线。 |
move_rel (dx, dy, image) |
将绘图位置在x轴方向移动dx,在y轴方向移动dy。 |
move_to (x, y, image) |
设置当前绘图位置到(x,y)。 |
pie (x, y, start_angle, end_angle, radius_x, …) |
画一个空心椭圆扇形,起始角度为“start_angle”,结束角度为“end_angle”。 |
poly_line (*end_points, image) |
画一条折线(ploy line)。 |
polygon (*vertices, image) |
画一个空心多边形。 |
put_pixel (x, y, color, image) |
将指定像素设为指定的颜色。 |
quadratic (x0, y0, x1, y1, x2, y2, image) |
绘制一条二次贝塞尔曲线(quadratic bezier curve)。 |
rect (left, top, right, bottom, image) |
画一个空心矩形,左上角位于点(left,top),右下角位于(right,bottom)。 |
rounded_rect (left, top, right, bottom, …) |
画一个空心圆角矩形,左上角位于点(left,top),右下角位于(right,bottom)。 |
使用顶点定义形状¶
begin_shape ([type]) |
开始定义一个形状 |
end_shape ([close]) |
结束形状定义 |
bezier_vertex (x1, y1, x2, y2, x3, y3, image) |
定义一个三次贝塞尔曲线(cubic bezier curve)。 |
curve_vertex (x, y, image) |
定义一个Catmull-Rom曲线顶点 |
quadratic_vertex (x1, y1, x2, y2, image) |
顶一个一个二次贝塞尔曲线顶点。 |
vertex (x, y, image) |
定义一个顶点 |
几何变换(Transform)¶
flip (x, y, x1, y1, image) |
以过原点(x1,y1)和点(x,y)的直线为轴,反射(reflect)坐标系。 |
get_transform (image) |
获取图片的几何变换(transform)对象。 |
mirror (x, y, x1, y1, image) |
以过原点(x1,y1)和点(x,y)的直线为轴,反射(reflect)坐标系。 |
pop_transform (image) |
从栈(stack)中取出最近一次压入的几何变换,并将其设置为图片的当前变换。 |
push_transform (image) |
将当前的几何变换(transform)压入栈(stak)中。 |
reflect (x, y, x1, y1, image) |
以过原点(x1,y1)和点(x,y)的直线为轴,反射(reflect)坐标系。 |
reset_transform (image) |
重置(取消)所有几何变换。 |
rotate (degree, x, y, image) |
顺时针绕点(x,y)旋转坐标系。 |
scale (sx, sy, image) |
坐标轴沿x轴方向缩放(scale)sx倍,沿y轴方向缩放sy倍。 |
set_flip_y (flip_y, image) |
Reflect without texts using the x-axis as the axis (image upside down). |
set_origin (offset_x, offset_y, image) |
将坐标轴平移指定的位移。 |
set_transform (transform, image) |
设置图片的几何变换(transform)对象。 |
shear (sh, sv, x, y, image) |
绕点(x,y)沿x轴方向和y轴方向同时对图像做剪切(shear或者skew)sh和sv倍。 |
skew (sh, sv, x, y, image) |
绕点(x,y)沿x轴方向和y轴方向同时对图像做剪切(shear或者skew)sh和sv倍。 |
translate (offset_x, offset_y, image) |
将坐标轴平移指定的位移。 |
动画处理¶
delay (milliseconds) |
程序暂停指定的时间(毫秒)。 |
delay_fps (fps) |
通过暂停程序来控制动画的FPS(Frame per seconds)。 |
delay_jfps (fps[, max_skip_count]) |
通过暂停程序来控制动画的FPS(Frame per seconds)。带跳帧判断。 |
get_render_mode () |
设置绘图窗口的绘制模式 |
is_run () |
检查图形系统是否在运行。 |
set_render_mode (mode) |
设置绘图窗口的绘制模式 |
图片处理¶
add_record (image, **options) |
向录制中的动画中加入一帧 |
begin_recording () |
开始录制PNG格式动画 |
capture_screen (left, top, right, bottom, …) |
在图形窗口上截取指定区域的内容保存到图片中。 |
close_image (image) |
关闭并清理指定的图片。 |
create_image (width, height) |
创建一个新图片。 |
draw_image (x, y, src_image, src_x, src_y, …) |
将来源图片(src_image)复制到目的图片(dst_image)。 |
end_recording () |
结束录制动画 |
get_target () |
获取当前的绘制目标(target)。 |
load_image (filename) |
读取图片文件。 |
put_image (x, y, src_image, src_x, src_y, …) |
将来源图片(src_image)复制到目的图片(dst_image)。 |
save_image (filename[, with_background]) |
保存图片到文件。 |
save_recording (filename) |
以PNG格式保存录制中的动画到文件中 |
set_target (image) |
设置绘制目标(target) |
键盘与鼠标¶
contains_left_button (buttons) |
检查是否包含鼠标左键。 |
contains_mid_button (buttons) |
检查是否包含鼠标中键。 |
contains_right_button (buttons) |
检查是否包含鼠标右键。 |
contains_alt (modifiers) |
检查是否包含alt键 |
contains_ctrl (modifiers) |
检查是否包含control键 |
contains_meta (modifiers) |
检查是否包含meta键 |
contains_shift (modifiers) |
检查是否包含shift键 |
get_char () |
读取键盘输入的字符。(阻塞程序) |
get_click () |
获取鼠标点击信息。(阻塞程序) |
get_cursor_pos () |
获取鼠标光标的位置。(非阻塞) |
get_key () |
获取键盘按下的键信息。(阻塞程序) |
get_mouse_msg () |
获取鼠标按钮按下或者松开信息。(阻塞) |
has_kb_hit () |
检查是否有字符从键盘输入。 |
has_kb_msg () |
检查是否有键被按下。 |
has_mouse_msg () |
检查是否有鼠标按钮被按下或者松开。 |
pause () |
暂停程序,等待鼠标点击或者键盘按任意键继续。 |
颜色和工具¶
cart2pol (x, y) |
从笛卡尔坐标转换为极坐标。 |
color_cmyk (c, m, y, k, alpha) |
创建CMYK颜色。 |
color_hsl (h, s, l, alpha) |
创建HSL颜色。 |
color_hsv (h, s, v, alpha) |
创建HSV颜色。 |
color_rgb (red, green, blue, alpha) |
创建RGB颜色。 |
pol2cart (rho, theta) |
从极坐标转换为笛卡尔坐标。 |
rgb (red, green, blue, alpha) |
创建RGB颜色。 |
show_image (image) |
在qtconsole或者notebook中显示图片 |
to_alpha (new_color, alpha) |
用所给的颜色和alpha值创建新颜色。 |
常量¶
Color |
这些是预定义的颜色常量。 |
CompositionMode |
定义了绘图时的合成模式。 |
FillStyle |
这些是draw_xxx和fill_xxx函数使用的填充模式。 |
FillRule |
填充多边形时用的算法 |
LineStyle |
这些是绘制线条时的线型。 |
MouseMessageType |
这些是鼠标信息类型。 |
RenderMode |
这些是图形窗口的渲染模式。 |
TextFlags |
这些是文本绘制标志。 |
ShapeMode |
在绘制形状时,该标志决定各参数的含义。 |
VertexType |
使用顶点定义的形状类型 |
API详情¶
-
class
easygraphics.
Color
¶ 这些是预定义的颜色常量。
-
BLACK
= 2¶ 黑色
-
BLUE
= 9¶ 蓝色
-
BROWN
= '#A8A800'¶ 褐色
-
CYAN
= 10¶ 青色
-
DARK_BLUE
= 15¶ 深蓝色
-
DARK_CYAN
= 16¶ 深青色
-
DARK_GRAY
= 4¶ 深灰色
-
DARK_GREEN
= 14¶ 深绿色
-
DARK_MAGENTA
= 17¶ 深紫红色
-
DARK_RED
= 13¶ 深红色
-
DARK_YELLOW
= 18¶ 深黄色
-
GREEN
= 8¶ 绿色
-
LIGHT_BLUE
= 5526780¶ 浅蓝色
-
LIGHT_CYAN
= 5569788¶ 浅青色
-
LIGHT_GRAY
= 11053224¶ 浅灰色
-
LIGHT_GREEN
= 5569620¶ 浅绿色
-
LIGHT_MAGENTA
= 16536828¶ 浅紫红色
-
LIGHT_RED
= 16536660¶ 浅红色
-
LIGHT_YELLOW
= 16579668¶ 浅黄色
-
MAGENTA
= 11010216¶ 紫红色
-
RED
= 7¶ 红色
-
TRANSPARENT
= 19¶ 透明
-
Values
= (2, 9, 8, 10, 7, 11010216, '#A8A800', 11053224, 4, 5526780, 5569620, 5569788, 16536660, 16536828, 12, 3, 16579668, 15, 16, 14, 17, 13, 18)¶
-
WHITE
= 3¶ 白色
-
YELLOW
= 12¶ 黄色
-
-
class
easygraphics.
FillStyle
¶ 这些是draw_xxx和fill_xxx函数使用的填充模式。
-
NULL_FILL
= 0¶ 不填充。
-
SOLID_FILL
= 1¶ 使用填充色填充。见set_fill_color()。
-
-
class
easygraphics.
LineStyle
¶ 这些是画线时的线型。可用的线型包括:
LineStyle.SOLID_LINE LineStyle.DASH_LINE LineStyle.DOT_LINE LineStyle.DASH_DOT_LINE LineStyle.DASH_DOT_DOT_LINE LineStyle.NO_PEN -
DASH_DOT_DOT_LINE
= 5¶ 一横,两点,一横,两点。
-
DASH_DOT_LINE
= 4¶ 交替短横和点。
-
DASH_LINE
= 2¶ 虚线。
-
DOT_LINE
= 3¶ 点虚线。
-
NO_PEN
= 0¶ 不画线。
-
SOLID_LINE
= 1¶ 实线
-
-
class
easygraphics.
RenderMode
¶ 这些是图形窗口的渲染模式。
-
RENDER_AUTO
= 0¶ 每次绘制后,绘图窗口都会刷新以显示出新绘制的内容。
-
RENDER_MANUAL
= 1¶ 只有在等待、延迟或者阻塞函数被调用时,绘图窗口才会更新。
-
-
class
easygraphics.
CompositionMode
¶ 定义了绘图时的合成模式。
合成模式控制在绘制时,如何对来源色彩和目标色彩进行合成以得到结果颜色。
注意,光栅运算(Raster operations)/位运算(bitwise operations)合成模式要求来源色彩和目标色彩都不透明。
-
CLEAR
= 2¶ (Alpha合成)目标像素被设置为完全透明。
-
CLEAR_DEST
= 35¶ (光栅运算)目标像素被设置为全零。
-
COLOR_BURN
= 19¶ (混合)目标色被来源色加深(变暗)。来源色为白色时,目标颜色不变。
-
COLOR_DODGE
= 18¶ (混合)目标色被来源色变浅(变亮)。来源色为黑色时,目标颜色不变。
-
DARKEN
= 16¶ (混合)使用目标色和来源色中最暗的一个作为结果色。
-
DESTINATION
= 4¶ (Alpha合成)保持目标像素原始颜色不变。
-
DESTINATION_AT_TOP
= 10¶ (Alpha合成)把目标像素放在来源像素上进行合成,用目的像素的alpha值减去来源像素alpha值。
-
DESTINATION_IN
= 6¶ (Alpha合成)输出目标像素,其alpha值与来源像素相减。
-
DESTINATION_OUT
= 8¶ (Alpha合成)输出目标像素,其alpha值与来源像素的反值(inverse)相减。
-
DESTINATION_OVER
= 1¶ (Alpha合成)用目标像素的alpha值来与来源像素合成。
-
DIFFERENCE
= 22¶ (混合)将目标色与来源色中的较深色减去较浅色。使用白色作为来源色,将反转(inverse)目标色;使用黑色作为来源色,则目标色保持不变。
-
EXCLUSION
= 23¶ (混合)与DIFFERENCE类似,但是对比度更低。使用白色作为来源色,将反转(inverse)目标色;使用黑色作为来源色,则目标色保持不变。
-
HARD_LIGHT
= 20¶ (混合)根据来源色的不同,进行相乘或者遮罩(Screen)运算。浅的来源色将会使目标色变浅,深的来源色会使目标色变深。
-
LIGHTEN
= 17¶ (混合)选择来源色与目标色中较浅的作为结果色。
-
MULTIPLY
= 13¶ (混合)目标色与来源色相乘。与白色相乘,原色保持不变;与黑色相乘,原色变为黑色。
-
NOT_DEST
= 37¶ (光栅运算)目标像素按位取反(NOT dst)。
-
NOT_SRC
= 30¶ (光栅运算)来源像素按位取反(NOT src)。
-
NOT_SRC_AND_DEST
= 31¶ (光栅运算)来源像素按位取反后,与目标像素按位与((NOT src) AND dst)。
-
NOT_SRC_AND_NOT_DEST
= 27¶ (光栅运算)来源像素与目的像素进行位NOR运算((NOT src) AND (NOT dst))。
-
NOT_SRC_OR_DEST
= 33¶ (光栅运算)来源像素按位取反后,与目标像素按位或((NOT src) OR dst)。
-
NOT_SRC_OR_NOT_DEST
= 28¶ (光栅运算)目标像素与来源像素进行NAND运算((NOT src) OR (NOT dst))。
-
NOT_SRC_XOR_DEST
= 29¶ (光栅运算)目标像素按位取反后,与目标像素按位异或((NOT src) XOR dst)。
-
OVERLAY
= 15¶ “(混合)根据目标颜色的不同,进行相乘(multiply)或者遮罩(screen)运算。目标色与来源色混合,以反映目标的亮度(lightness)或暗度(darkness)。
-
Plus
= 12¶ (混合)来源色和目标色的色彩和alpha值相加。
-
SCREEN
= 14¶ (混合)来源和目标色取反(inverted)后相乘(multiplied)。使用白色遮罩,产生白色,使用黑色遮罩保持原色不变。
-
SET_DEST
= 36¶ (光栅运算) 目标像素被设为全1(白色).
-
SOFT_LIGHT
= 21¶ (混合)根据来源色,加深或变浅目标色。与HARD_LIGHT类似。
-
SOURCE
= 3¶ (Alpha合成)使用来源像素替代目标像素。
-
SOURCE_AT_TOP
= 9¶ (Alpha合成)。来源像素在上,与目标像素混合。用来源像素的alpha值减去目标像素的。
-
SOURCE_IN
= 5¶ (Alpha合成)输出来源像素,其alpha值被目标像素的alpha值减少。
-
SOURCE_OUT
= 7¶ (Alpha合成)输出来源像素,其alpha值被目标像素alpha值的反值(inverse)减少。
-
SOURCE_OVER
= 0¶ (Alpha合成)缺省的合成模式。将来源像素的色彩和alpha值叠加到目标像素上(类似于将一块彩色玻璃覆盖到目标图上)。
-
SRC_AND_DEST
= 25¶ (光栅运算)来源像素与目标像素按位与(src AND dst)。
-
SRC_AND_NOT_DEST
= 32¶ (光栅运算)目标像素按位取反后,与来源像素按位与(src AND (NOT dst))。
-
SRC_OR_DEST
= 24¶ (光栅运算)来源像素与目标像素按位与。
-
SRC_OR_NOT_DEST
= 34¶ (光栅运算)目标像素按位取反后,与来源像素按位或(src OR (NOT dst))。
-
SRC_XOR_DEST
= 26¶ (光栅运算)来源像素与目标像素按位异或(src XOR dst)。
-
XOR
= 11¶ (Alpha合成)来源像素,其alpha值与目标像素alpha值的反值(inverse)相减;目标像素,其alpha值与来源像素alpha值的反值(inverse)相减;然后对两者进行合并。注意该运算与光栅运算中的异或运算不一样。
-
-
class
easygraphics.
TextFlags
¶ 这些是文本绘制标志。
-
ALIGN_BOTTOM
= 64¶ 垂直居上。
-
ALIGN_CENTER
= 132¶ 水平和垂直同时居中。
-
ALIGN_HCENTER
= 4¶ 水平居中。
-
ALIGN_JUSTIFY
= 8¶ 两端对齐。
-
ALIGN_LEFT
= 1¶ 水平居左。
-
ALIGN_RIGHT
= 2¶ 水平居右。
-
ALIGN_TOP
= 32¶ 垂直居上。
-
ALIGN_VCENTER
= 128¶ 垂直居中。
-
TEXT_DONT_CLIP
= 512¶ 如果在指定的边界内无法容纳,多余的内容显示在边界外。
-
TEXT_EXPAND_TABS
= 1024¶ 启用制表符(ASCII tab)。
-
TEXT_SINGLE_LINE
= 256¶ 将所有内容打印在一行上。
-
TEXT_WORD_WRAP
= 4096¶ 自动分行。
-
-
class
easygraphics.
MouseMessageType
¶ 这些是鼠标信息类型。
-
DOUBLE_CLICK_MESSAGE
= 3¶
-
PRESS_MESSAGE
= 1¶
-
RELEASE_MESSAGE
= 2¶
-
-
class
easygraphics.
FillRule
¶ 填充多边形时用的算法
-
ODD_EVEN_FILL
= 0¶ 使用奇偶填充算法(odd even fill rule)。
-
WINDING_FILL
= 1¶ 使用Winding算法(non zero winding rule)。
-
-
class
easygraphics.
ShapeMode
¶ This flag controls how shapes will be drawn. The framework’s default value is RADIUS.
-
CENTER
= 2¶
-
CORNER
= 1¶
-
CORNERS
= 0¶
-
RADIUS
= 3¶
-
-
class
easygraphics.
VertexType
¶ 使用顶点定义的形状类型
-
LINES
= 2¶
-
POINTS
= 1¶
-
POLY_LINE
= 0¶
-
QUADS
= 6¶
-
QUAD_STRIP
= 7¶
-
TRIANGLES
= 3¶
-
TRIANGLE_FAN
= 4¶
-
TRIANGLE_STRIP
= 5¶
-
-
easygraphics.
set_line_style
(line_style, image: easygraphics.image.Image = None)¶ 设置指定图片的线型。
线型用于画线和形状轮廓。在LineStyle中定义了可用的线型常量,如LineStyle.SOLID_LINE等
参数: - line_style – 线型
- image – 要设置线型的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
get_line_style
(image: easygraphics.image.Image = None) → int¶ 获取指定图片的(画笔)线型。
画线和轮廓时使用的线型。
参数: image – 要获取线型的图片。None表示使用“绘图目标”图片(参见set_target()和get_target()) 返回: 指定图片的线型
-
easygraphics.
set_line_width
(width: float, image: easygraphics.image.Image = None)¶ 设置指定图片的线宽。
会用它来画线或轮廓线。
参数: - width – 线宽
- image – 要设置线宽的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
get_line_width
(image: easygraphics.image.Image = None) → float¶ 获取指定图片的(画笔)线宽。
会用它来画线或轮廓线。
参数: image – 要获取线宽的图片。None表示使用“绘图目标”图片(参见set_target()和get_target()) 返回: 指定图片的线宽
-
easygraphics.
get_color
(image: easygraphics.image.Image = None) → PyQt5.QtGui.QColor¶ 获取指定的图片的前景色(画笔颜色)。
会用它来画线或者轮廓线。
参数: image – 要获取前景色的图片。None表示使用“绘图目标”图片(参见set_target()和get_target()) 返回: 指定图片的前景色
-
easygraphics.
set_color
(color, image: easygraphics.image.Image = None)¶ 设置指定图片的前景色。
会用它画线或者轮廓。
颜色可以使用Color类中定义的常量,颜色名,表示rgb的整数,也可以使用color_rgb()等函数创建。
参数: - color – 前景色
- image – 要设置前景色的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
get_fill_color
(image: easygraphics.image.Image = None) → PyQt5.QtGui.QColor¶ 获取指定图片的填充色。
会用它来填充图形。
参数: image – 要获取填充色的图片。None表示使用“绘图目标”图片(参见set_target()和get_target()) 返回: 指定图片的填充色
-
easygraphics.
set_fill_color
(color, image: easygraphics.image.Image = None)¶ 设置指定图片的填充色。
会用它来填充图形。
颜色可以使用Color类中定义的常量,颜色名,表示rgb的整数,也可以使用color_rgb()等函数创建。
参数: - color – 填充色
- image – 要设置填充色的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
get_fill_style
(image: easygraphics.image.Image = None) → int¶ 获取指定图片的填充样式。
会用它来填充图形。
参数: image – 要获取填充样式的图片。None表示使用“绘图目标”图片(参见set_target()和get_target()) 返回: 指定图片的填充样式
-
easygraphics.
set_fill_style
(style, image: easygraphics.image.Image = None)¶ - 设置指定图片的填充样式。
用它来填充图形。FillStyle中定义了相关的常量。
参数: - style – 填充样式
- image – 要设置填充样式的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
返回:
-
easygraphics.
get_background_color
(image: easygraphics.image.Image = None) → PyQt5.QtGui.QColor¶ 获取图片的背景色。
参数: image – 要获取背景色的图片。None表示使用“绘图目标”图片(参见set_target()和get_target()) 返回: 指定图片的背景色
-
easygraphics.
set_background_color
(color, image: easygraphics.image.Image = None)¶ 设置和修改背景色。
颜色可以使用Color类中定义的常量,颜色名,表示rgb的整数,也可以使用color_rgb()等函数创建。
参数: - color – 背景色
- image – 要设置背景色的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
set_font
(font: PyQt5.QtGui.QFont, image: easygraphics.image.Image = None)¶ 设置指定图片的字体。
参数: - font – 要用的字体
- image – 要设置字体的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
get_font
(image: easygraphics.image.Image = None) → PyQt5.QtGui.QFont¶ 获取指定图片的字体。
参数: image – 要获取字体的图片。None表示使用“绘图目标”图片(参见set_target()和get_target()) 返回: 指定图片的字体
-
easygraphics.
set_font_size
(size: int, image: easygraphics.image.Image = None)¶ 设置指定图片的字体大小。
参数: - size – 指定图片的字体大小
- image – 要获取绘图模式的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
get_font_size
(image: easygraphics.image.Image = None) → int¶ 获取指定图片的字体大小。
参数: image – 要获取绘图模式的图片。None表示使用“绘图目标”图片(参见set_target()和get_target()) 返回: 指定图片的字体大小
-
easygraphics.
set_composition_mode
(mode, image: easygraphics.image.Image = None)¶ 获取指定图片的合成模式(Composition mode)。
合成模式控制绘制的内容如何和图片上的原有内容进行合成。
参数: - mode – 合成模式
- image – 要设置合成模式的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
get_composition_mode
(image: easygraphics.image.Image = None) → int¶ 获取指定图片的合成模式(Composition mode)。
绘图时,合成模式决定绘制的内容如何和图片上原有内容进行合成。
参数: image – 要获取合成模式的图片。None表示使用“绘图目标”图片(参见set_target()和get_target()) 返回: 合成模式
-
easygraphics.
get_drawing_x
(image: easygraphics.image.Image = None) → float¶ 获取指定图片”当前绘图位置”的横坐标x。
部分函数会使用“当前绘图位置”进行绘制(参见line_to(),line_rel(),move_to()和move_rel())。
参数: image – 要获取当前绘图位置的图片。None表示使用“绘图目标”图片(参见set_target()和get_target()) 返回: 当前绘图位置的x坐标
-
easygraphics.
get_drawing_y
(image: easygraphics.image.Image = None) → float¶ 获取指定图片”当前绘图位置”的纵坐标y。
部分函数会使用“当前绘图位置”进行绘制(参见line_to(),line_rel(),move_to()和move_rel())。
参数: image – 要获取当前绘图位置的图片。None表示使用“绘图目标”图片(参见set_target()和get_target()) 返回: 当前绘图位置的y坐标。
-
easygraphics.
set_view_port
(left: int, top: int, right: int, bottom: int, clip: bool = True, image: easygraphics.image.Image = None)¶ 设置指定图片的视口。
视口是图片上的绘图区域。
>>> from easygraphics import * >>> init_graph(800,600) >>> draw_rect(100,100,300,300) >>> set_view_port(100,100,300,300) >>> circle(100,100,50) >>> circle(100,100,100) >>> circle(100,100,120) >>> pause() >>> close_graph()
参数: - left – 视口左边位置的坐标
- top – 视口顶部的坐标
- right – 视口右边位置的坐标
- bottom – 视口底部的坐标
- clip – 如果为True,绘制时超出视口范围的内容会被裁掉。
- image – 要获取视口的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
reset_view_port
(image: easygraphics.image.Image = None)¶ 恢复缺省的视口设置。
参数: image – 要重置视口的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
set_origin
(offset_x: float, offset_y: float, image: easygraphics.image.Image = None)¶ 将坐标轴平移指定的位移。
参数: - offset_x – offset on the x coordinate
- offset_y – offset on the y coordinate
- image – the target image to be translated. None means it is the target image (see set_target() and get_target()).
-
easygraphics.
get_fill_rule
(image: easygraphics.image.Image = None) → int¶ 获取填充多边形时所用的算法。
参数: image – 要获取填充算法的图片。None表示使用“绘图目标”图片(参见set_target()和get_target()) 返回: 填充多边形所用的算法
-
easygraphics.
set_fill_rule
(rule, image: easygraphics.image.Image = None)¶ 设置填充多边形时所用的算法。
参数: - rule – 填充多边形时要用的算法
- image – 要设置填充算法的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
返回:
-
easygraphics.
set_render_mode
(mode: int)¶ 设置绘图窗口的绘制模式
该模式会控制绘图窗口如何刷新。
可用的值有:
- RenderMode.RENDER_AUTO (缺省值) 每次绘制内容后立即刷新绘图窗口。
- RenderMode.MANUAL 只有在pause()/delay()/delay_fps()/delay_jfps()等会暂停程序执行的函数被调用时才刷新绘图窗口。
RenderMode.MANUAL用于制作动画或游戏。
参数: mode – 刷新模式
-
easygraphics.
get_render_mode
()¶ 设置绘图窗口的绘制模式
该模式控制绘图窗口如何刷新。参阅set_render_mode()。
返回: 刷新模式
-
easygraphics.
get_drawing_pos
(image: easygraphics.image.Image = None) -> (<class 'float'>, <class 'float'>)¶ 获取指定图片的“当前绘图位置”。
部分函数会使用“当前绘图位置”进行绘制(参见line_to(),line_rel(),move_to()和move_rel())。
参数: image – 要获取当前绘图位置的图片。None表示使用“绘图目标”图片(参见set_target()和get_target()) 返回: 当前绘图位置(x,y)
-
easygraphics.
set_clip_rect
(left: int, top: int, right: int, bottom: int, image: easygraphics.image.Image = None)¶ 设置矩形剪裁区域。
绘制在裁剪区域外的内容会被裁掉。
参数: - left – 裁剪区域左边的坐标
- top – 裁剪区域顶部的坐标
- right – 裁剪区域右边的坐标
- bottom – 裁剪区域底部的坐标
- image – 要获取矩形剪裁区域的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
set_clipping
(clipping: bool, image: easygraphics.image.Image = None)¶ 设置是否启用剪裁。
使用set_clip_rect()来设置裁剪区域。
参数: - clipping – True会打开裁剪;False会关闭裁剪
- image – 要设置剪裁开关的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
set_window
(left: int, top: int, width: int, height: int, image: easygraphics.image.Image = None)¶ 设置指定图片的逻辑窗口。
逻辑上讲,所有的内容首先绘制在逻辑窗口中,然后再映射到视口。映射时逻辑窗口的四个顶点会被拉伸,以和视口的对应顶点对齐。
如果你的视口是200x200大,然后使用set_window(-50,-50,100,100),将逻辑窗口设为左上角在(-50,-50),长宽均为100。那么逻辑窗口的左上角(-50,50)(逻辑坐标)就对应视口的(0,0),右下角(50,50)就对应视口的(200,200)。逻辑窗口中所有点都依此映射到视口上。
如果你只是需要对视图进行几何变换,可使用set_origin()/translate()/rotate()/scale()等函数。
画在逻辑窗口外的内容不会被裁掉。如果你希望剪裁,使用set_clip_rect()。
参数: - left – 逻辑窗口左上角的x坐标
- top – 逻辑窗口左上角的y坐标
- width – width of the logical window
- height – 逻辑窗口的高度
- image – 要设置逻辑窗口的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
reset_window
(image: easygraphics.image.Image = None)¶ 恢复缺省的逻辑窗口设置。
参见set_window()。
参数: image – 要重置逻辑窗口的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
translate
(offset_x: float, offset_y: float, image: easygraphics.image.Image = None)¶ 将坐标轴平移指定的位移。
参数: - offset_x – offset on the x coordinate
- offset_y – offset on the y coordinate
- image – the target image to be translated. None means it is the target image (see set_target() and get_target()).
-
easygraphics.
rotate
(degree: float, x: float = 0, y: float = 0, image: easygraphics.image.Image = None)¶ 顺时针绕点(x,y)旋转坐标系。
参数: - degree – 旋转角度(单位为角度)
- x – 旋转中心的x轴坐标
- y – 旋转中心的y轴坐标
- image – 要旋转的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
scale
(sx: float, sy: float, image: easygraphics.image.Image = None)¶ 坐标轴沿x轴方向缩放(scale)sx倍,沿y轴方向缩放sy倍。
参数: - sx – x轴方向的缩放因子
- sy – y轴方向的缩放因子
- image – 要缩放的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
skew
(sh: float, sv: float, x: float = 0, y: float = 0, image: easygraphics.image.Image = None)¶ 绕点(x,y)沿x轴方向和y轴方向同时对图像做剪切(shear或者skew)sh和sv倍。
参数: - sh – x轴方向的错切比例
- sv – y轴方向的错切比例
- x – 错切中心的x轴坐标
- y – 错切中心的y轴坐标
- image – 要错切的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
shear
(sh: float, sv: float, x: float = 0, y: float = 0, image: easygraphics.image.Image = None)¶ 绕点(x,y)沿x轴方向和y轴方向同时对图像做剪切(shear或者skew)sh和sv倍。
参数: - sh – x轴方向的错切比例
- sv – y轴方向的错切比例
- x – 错切中心的x轴坐标
- y – 错切中心的y轴坐标
- image – 要错切的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
set_flip_y
(flip_y: bool, image: easygraphics.image.Image = None) → None¶ Reflect without texts using the x-axis as the axis (image upside down).
文字不会被翻转。
在用set_flip_y()打开垂直翻转后,请不要再进行平移。如果需要改变原点位置,应先进行平移,再set_flip_y()。
注意:使用这个函数来代替reflect()/flip()/mirror(),如果你只是希望改用Y轴正向向上的坐标系来作图。
参数: - flip_y – True打开垂直翻转,False关闭。
- image – 要垂直翻转的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
reflect
(x: float, y: float, x1: float = 0, y1: float = 0, image: easygraphics.image.Image = None)¶ 以过原点(x1,y1)和点(x,y)的直线为轴,反射(reflect)坐标系。
注意,所有绘制的内容都会被反射,包括文字。如果你只是希望改用Y轴正向向上的坐标系绘图,可使用set_flip_y()。
参数: - x – x轴坐标
- y – y轴坐标
- x1 – 第二个点的x轴坐标
- y1 – 第二个点的y轴坐标
- image – 要反射的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
flip
(x: float, y: float, x1: float = 0, y1: float = 0, image: easygraphics.image.Image = None)¶ 以过原点(x1,y1)和点(x,y)的直线为轴,反射(reflect)坐标系。
注意,所有绘制的内容都会被反射,包括文字。如果你只是希望改用Y轴正向向上的坐标系绘图,可使用set_flip_y()。
参数: - x – x轴坐标
- y – y轴坐标
- x1 – 第二个点的x轴坐标
- y1 – 第二个点的y轴坐标
- image – 要反射的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
mirror
(x: float, y: float, x1: float = 0, y1: float = 0, image: easygraphics.image.Image = None)¶ 以过原点(x1,y1)和点(x,y)的直线为轴,反射(reflect)坐标系。
注意,所有绘制的内容都会被反射,包括文字。如果你只是希望改用Y轴正向向上的坐标系绘图,可使用set_flip_y()。
参数: - x – x轴坐标
- y – y轴坐标
- x1 – 第二个点的x轴坐标
- y1 – 第二个点的y轴坐标
- image – 要反射的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
reset_transform
(image: easygraphics.image.Image = None)¶ 重置(取消)所有几何变换。
参数: image – 要重置几何变换的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
save_settings
(image: easygraphics.image.Image = None)¶ 保存当前的绘图设置。
参阅restore_settings()。
注意:背景色和当前位置不会被保存。
参数: image – 要保存绘图设置的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
restore_settings
(image: easygraphics.image.Image = None)¶ 恢复之前保存的绘图设置。
参阅save_settings()。
注意:背景色和当前位置不会被保存。
参数: image – 要恢复绘图设置的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
get_width
(image: easygraphics.image.Image = None) → int¶ 获取指定图片的宽度。
参数: image – 要获取宽度的图片。None表示使用“绘图目标”图片(参见set_target()和get_target()) 返回: 所指图片的宽度
-
easygraphics.
get_height
(image: easygraphics.image.Image = None) → int¶ 获取指定图片的高度。
参数: image – 要获取宽度的图片。None表示使用“绘图目标”图片(参见set_target()和get_target()) 返回: 所指图片的高度
-
easygraphics.
get_write_mode
(image: easygraphics.image.Image = None) → int¶ 获取指定图片的合成模式(Composition mode)。
绘图时,合成模式决定绘制的内容如何和图片上原有内容进行合成。
参数: image – 要获取合成模式的图片。None表示使用“绘图目标”图片(参见set_target()和get_target()) 返回: 合成模式
-
easygraphics.
set_write_mode
(mode, image: easygraphics.image.Image = None)¶ 获取指定图片的合成模式(Composition mode)。
合成模式控制绘制的内容如何和图片上的原有内容进行合成。
参数: - mode – 合成模式
- image – 要设置合成模式的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
get_transform
(image: easygraphics.image.Image = None) → PyQt5.QtGui.QTransform¶ 获取图片的几何变换(transform)对象。
参数: image – 要获取几何变换的图片。None表示使用“绘图目标”图片(参见set_target()和get_target()) 返回: 几何变换(Transform)
-
easygraphics.
set_transform
(transform: PyQt5.QtGui.QTransform, image: easygraphics.image.Image = None)¶ 设置图片的几何变换(transform)对象。
参数: - transform – 要设置的几何变换
- image – 要获取几何变换的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
push_transform
(image: easygraphics.image.Image = None)¶ 将当前的几何变换(transform)压入栈(stak)中。
-
easygraphics.
pop_transform
(image: easygraphics.image.Image = None)¶ 从栈(stack)中取出最近一次压入的几何变换,并将其设置为图片的当前变换。
-
easygraphics.
set_rect_mode
(mode, image: easygraphics.image.Image = None)¶
-
easygraphics.
get_rect_mode
(image: easygraphics.image.Image = None) → int¶
-
easygraphics.
set_ellipse_mode
(mode, image: easygraphics.image.Image = None)¶
-
easygraphics.
get_ellipse_mode
(image: easygraphics.image.Image = None) → int¶
-
easygraphics.
set_antialiasing
(anti: bool = True, image: easygraphics.image.Image = None) → None¶ 反锯齿设置
参数: - anti – 是否应打开反锯齿
- image – 要设置的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
draw_point
(x: float, y: float, image: easygraphics.image.Image = None)¶ 在指定图片的点(x,y)处画一个点。
参数: - x – 点的x坐标
- y – 点的y坐标
- image – 要绘制的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
put_pixel
(x: int, y: int, color, image: easygraphics.image.Image = None)¶ 将指定像素设为指定的颜色。
参数: - x – 像素的x坐标
- y – 像素的y坐标
- color – 颜色
- image – 要绘制的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
get_pixel
(x: int, y: int, image: easygraphics.image.Image = None) → PyQt5.QtGui.QColor¶ 获取指定像素的颜色。
参数: - x – 像素的x坐标
- y – 像素的y坐标
- image – 要绘制的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
返回: 像素的颜色
-
easygraphics.
line
(x1, y1, x2, y2, image: easygraphics.image.Image = None)¶ 在指定图片上画一条从点(x1,y1)到点(x2,y2)的线段。
line()是本函数的别名。
参数: - x1 – 起始点的x坐标
- y1 – 起始点的y坐标
- x2 – 结束点的x坐标
- y2 – 起始点的y坐标
- image – 要绘制的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
draw_line
(x1, y1, x2, y2, image: easygraphics.image.Image = None)¶ 在指定图片上画一条从点(x1,y1)到点(x2,y2)的线段。
line()是本函数的别名。
参数: - x1 – 起始点的x坐标
- y1 – 起始点的y坐标
- x2 – 结束点的x坐标
- y2 – 起始点的y坐标
- image – 要绘制的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
move_to
(x: float, y: float, image: easygraphics.image.Image = None)¶ 设置当前绘图位置到(x,y)。
当前绘图位置被line_to(), line_rel()和move_rel()等函数使用。
参数: - x – 新当前绘图位置的x坐标
- y – 新当前绘图位置的y坐标
- image – 要绘制的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
move_rel
(dx: float, dy: float, image: easygraphics.image.Image = None)¶ 将绘图位置在x轴方向移动dx,在y轴方向移动dy。
如果旧位置是(x,y),那么新的位置将是(x+dx,y+dy)。
当前绘图位置被line_to()和line_rel()等函数使用。
参数: - dx – 新当前绘图位置的x轴方向位移
- dy – 新当前绘图位置的y轴方向位移
- image – 要绘制的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
line_to
(x: float, y: float, image: easygraphics.image.Image = None)¶ 从当前绘图位置到(x,y)画线,然后将当前绘图位置更新为(x,y)。
参数: - x – 新当前绘图位置的x坐标
- y – 新当前绘图位置的y坐标
- image – 要绘制的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
line_rel
(dx: float, dy: float, image: easygraphics.image.Image = None)¶ 从当前绘图位置(x,y)到(x+dx,y+dy)画线,然后将当前绘图位置更新为(x+dx,y+dy)。
参数: - dx – 新当前绘图位置的x轴方向位移
- dy – 新当前绘图位置的y轴方向位移
- image – 要绘制的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
circle
(x: float, y: float, r: float, image: easygraphics.image.Image = None)¶ 画一个空心圆,圆心位于点(x,y)半径为r的。
画出的圆形是空心的。
参数: - x – 圆心的x坐标
- y – 圆心的y坐标
- r – 半径
- image – 要绘制的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
draw_circle
(x: float, y: float, r: float, image: easygraphics.image.Image = None)¶ 以点(x,y)为圆心,r为半径画圆。
画出的圆形为实心,且带有轮廓线。
参数: - x – 圆心的x坐标
- y – 圆心的y坐标
- r – 半径
- image – 要绘制的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
fill_circle
(x: float, y: float, r: float, image: easygraphics.image.Image = None)¶ 填充一个实心圆,圆心位于点(x,y),半径为r。
画出的圆形没有轮廓线。
参数: - x – 圆心的x坐标
- y – 圆心的y坐标
- r – 半径
- image – 要绘制的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
ellipse
(x, y, radius_x, radius_y, image: easygraphics.image.Image = None)¶ 画一个空心椭圆,椭圆圆心位于点(x,y),x轴坐标为radius_x,y轴坐标为radius_y。
画出的椭圆是空心的。
参数: - x – 椭圆圆心的x坐标
- y – 椭圆圆心的y坐标
- radius_x – 椭圆x轴方向半径
- radius_y – 椭圆y轴方向半径
- image – 要绘制的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
draw_ellipse
(x, y, radius_x, radius_y, image: easygraphics.image.Image = None)¶ 以点(x,y)为中心,radius_x为x轴方向半径,radius_y为y轴方向半径,画矩形。
画出的椭圆是实心的,并且有轮廓线。
参数: - x – 椭圆圆心的x坐标
- y – 椭圆圆心的y坐标
- radius_x – 椭圆x轴方向半径
- radius_y – 椭圆y轴方向半径
- image – 要绘制的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
fill_ellipse
(x, y, radius_x, radius_y, image: easygraphics.image.Image = None)¶ 填充一个实心椭圆,圆心位于点(x,y),x轴方向半径为radius_x, y轴方向为radius_y。
画出的椭圆没有轮廓线。
参数: - x – 椭圆圆心的x坐标
- y – 椭圆圆心的y坐标
- radius_x – 椭圆x轴方向半径
- radius_y – 椭圆y轴方向半径
- image – 要绘制的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
arc
(x: float, y: float, start_angle: float, end_angle: float, radius_x: float, radius_y: float, image: easygraphics.image.Image = None)¶ 画一个椭圆弧,椭圆圆心位于点(x,y),x轴坐标为radius_x,y轴坐标为radius_y;弧的起始角度为start_angle,结束角度为end_angle。
说明:正的角度值为逆时针旋转;负的角度值为顺时针旋转。0度位于三点钟方向(X轴正向)。参数: - x – 椭圆圆心的x坐标
- y – 椭圆圆心的y坐标
- start_angle – 弧的起始角度
- end_angle – 弧的结束角度
- radius_x – 椭圆x轴方向半径
- radius_y – 椭圆y轴方向半径
- image – 要绘制的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
draw_arc
(x: float, y: float, start_angle: float, end_angle: float, radius_x: float, radius_y: float, image: easygraphics.image.Image = None)¶ 画一个椭圆弧,椭圆圆心位于点(x,y),x轴坐标为radius_x,y轴坐标为radius_y;弧的起始角度为start_angle,结束角度为end_angle。
说明:正的角度值为逆时针旋转;负的角度值为顺时针旋转。0度位于三点钟方向(X轴正向)。参数: - x – 椭圆圆心的x坐标
- y – 椭圆圆心的y坐标
- start_angle – 弧的起始角度
- end_angle – 弧的结束角度
- radius_x – 椭圆x轴方向半径
- radius_y – 椭圆y轴方向半径
- image – 要绘制的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
pie
(x: float, y: float, start_angle: float, end_angle: float, radius_x: float, radius_y: float, image: easygraphics.image.Image = None)¶ 画一个空心椭圆饼(pie),椭圆圆心位于点(x,y),x轴坐标为radius_x,y轴坐标为radius_y;饼的起始角度为start_angle,结束角度为end_angle。
画出的饼是空心的。
说明:正的角度值为逆时针旋转;负的角度值为顺时针旋转。0度位于三点钟方向(X轴正向)。参数: - x – 椭圆圆心的x坐标
- y – 椭圆圆心的y坐标
- start_angle – 饼的起始角度
- end_angle – 饼的结束角度
- radius_x – 椭圆x轴方向半径
- radius_y – 椭圆y轴方向半径
- image – 要绘制的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
draw_pie
(x: float, y: float, start_angle: float, end_angle: float, radius_x: float, radius_y: float, image: easygraphics.image.Image = None)¶ 画一个椭圆饼(pie),椭圆圆心位于点(x,y),x轴坐标为radius_x,y轴坐标为radius_y;饼的起始角度为start_angle,结束角度为end_angle。
画出的饼是实心的,有轮廓线。
说明:正的角度值为逆时针旋转;负的角度值为顺时针旋转。0度位于三点钟方向(X轴正向)。参数: - x – 椭圆圆心的x坐标
- y – 椭圆圆心的y坐标
- start_angle – 饼的起始角度
- end_angle – 饼的结束角度
- radius_x – 椭圆x轴方向半径
- radius_y – 椭圆y轴方向半径
- image – 要绘制的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
fill_pie
(x: float, y: float, start_angle: float, end_angle: float, radius_x: float, radius_y: float, image: easygraphics.image.Image = None)¶ 填充一个椭圆饼(pie),椭圆圆心位于点(x,y),x轴坐标为radius_x,y轴坐标为radius_y;饼的起始角度为start_angle,结束角度为end_angle。
画出的饼没有轮廓线。
说明:正的角度值为逆时针旋转;负的角度值为顺时针旋转。0度位于三点钟方向(X轴正向)。参数: - x – 椭圆圆心的x坐标
- y – 椭圆圆心的y坐标
- start_angle – 饼的起始角度
- end_angle – 饼的结束角度
- radius_x – 椭圆x轴方向半径
- radius_y – 椭圆y轴方向半径
- image – 要绘制的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
chord
(x: float, y: float, start_angle: float, end_angle: float, radius_x: float, radius_y: float, image: easygraphics.image.Image = None)¶ 画一个空心椭圆弓形(chord),椭圆圆心位于点(x,y),x轴坐标为radius_x,y轴坐标为radius_y;弓形的起始角度为start_angle,结束角度为end_angle。
画出的弓形是空心的。
说明:正的角度值为逆时针旋转;负的角度值为顺时针旋转。0度位于三点钟方向(X轴正向)。参数: - x – 椭圆圆心的x坐标
- y – 椭圆圆心的y坐标
- start_angle – 弓形的起始角度
- end_angle – 弓形的结束角度
- radius_x – 椭圆x轴方向半径
- radius_y – 椭圆y轴方向半径
- image – 要绘制的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
draw_chord
(x: float, y: float, start_angle: float, end_angle: float, radius_x: float, radius_y: float, image: easygraphics.image.Image = None)¶ 画一个空心椭圆弓形(chord),椭圆圆心位于点(x,y),x轴坐标为radius_x,y轴坐标为radius_y;弓形的起始角度为start_angle,结束角度为end_angle。
画出的弓形是实心的,并且有轮廓。
说明:正的角度值为逆时针旋转;负的角度值为顺时针旋转。0度位于三点钟方向(X轴正向)。参数: - x – 椭圆圆心的x坐标
- y – 椭圆圆心的y坐标
- start_angle – 弓形的起始角度
- end_angle – 弓形的结束角度
- radius_x – 椭圆x轴方向半径
- radius_y – 椭圆y轴方向半径
- image – 要绘制的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
fill_chord
(x: float, y: float, start_angle: float, end_angle: float, radius_x: float, radius_y: float, image: easygraphics.image.Image = None)¶ 画一个空心椭圆弓形(chord),椭圆圆心位于点(x,y),x轴坐标为radius_x,y轴坐标为radius_y;弓形的起始角度为start_angle,结束角度为end_angle。
画出的弓形没有轮廓。
说明:正的角度值为逆时针旋转;负的角度值为顺时针旋转。0度位于三点钟方向(X轴正向)。参数: - x – 椭圆圆心的x坐标
- y – 椭圆圆心的y坐标
- start_angle – 弓形的起始角度
- end_angle – 弓形的结束角度
- radius_x – 椭圆x轴方向半径
- radius_y – 椭圆y轴方向半径
- image – 要绘制的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
bezier
(x0: float, y0: float, x1: float, y1: float, x2: float, y2: float, x3: float, y3: float, image: easygraphics.image.Image = None)¶ 绘制一条三次贝塞尔曲线(cubic bezier curve)。
点(x0,y0),(x1,y1),(x2,y2),(x3,y3)是曲线的4个控制点。
>>> from easygraphics import * >>> init_graph(600,400) >>> points=[300,50,200,50,200,200,100,200] >>> draw_bezier(*points) >>> pause() >>> close_graph()
参数: - x0 – 第一个控制点的x轴坐标
- y0 – 第一个控制点的y轴坐标
- x1 – 第二个点的x轴坐标
- y1 – 第二个控制点的y轴坐标
- x2 – 第三个控制点的x轴坐标
- y2 – 第三个控制点的x轴坐标
- x3 – 第四个控制点的x轴坐标
- y3 – 第四个控制点的y轴坐标
- image – 要绘制的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
draw_bezier
(x0: float, y0: float, x1: float, y1: float, x2: float, y2: float, x3: float, y3: float, image: easygraphics.image.Image = None)¶ 绘制一条三次贝塞尔曲线(cubic bezier curve)。
点(x0,y0),(x1,y1),(x2,y2),(x3,y3)是曲线的4个控制点。
>>> from easygraphics import * >>> init_graph(600,400) >>> points=[300,50,200,50,200,200,100,200] >>> draw_bezier(*points) >>> pause() >>> close_graph()
参数: - x0 – 第一个控制点的x轴坐标
- y0 – 第一个控制点的y轴坐标
- x1 – 第二个点的x轴坐标
- y1 – 第二个控制点的y轴坐标
- x2 – 第三个控制点的x轴坐标
- y2 – 第三个控制点的x轴坐标
- x3 – 第四个控制点的x轴坐标
- y3 – 第四个控制点的y轴坐标
- image – 要绘制的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
lines
(*points, image: easygraphics.image.Image = None)¶ 画多条直线。
参数“points”是一个2维点对的列表。里面应该包含偶数个点,每2个点组成一个点对(表示一条线段);每个点又包含x和y两个坐标。因此,如果你要画n条线段(n个点对),“points”列表中就应该有4n个数。
例如,如果“points”列表的值是[50,50,550,350, 50,150,550,450, 50,250,550,550],draw_lines()就会画三条线段,即:(50,50)到(550,350), (50,150)到(550,450), (50,250)到(550,550)。
>>> from easygraphics import * >>> init_graph(600,600) >>> draw_lines(50, 50, 550, 350, 50, 150, 550, 450, 50, 250, 550, 550) >>> pause() >>> close_graph()
参数: - points – 点坐标值列表
- image – 要绘制的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
draw_lines
(*points, image: easygraphics.image.Image = None)¶ 画多条直线。
参数“points”是一个2维点对的列表。里面应该包含偶数个点,每2个点组成一个点对(表示一条线段);每个点又包含x和y两个坐标。因此,如果你要画n条线段(n个点对),“points”列表中就应该有4n个数。
例如,如果“points”列表的值是[50,50,550,350, 50,150,550,450, 50,250,550,550],draw_lines()就会画三条线段,即:(50,50)到(550,350), (50,150)到(550,450), (50,250)到(550,550)。
>>> from easygraphics import * >>> init_graph(600,600) >>> draw_lines(50, 50, 550, 350, 50, 150, 550, 450, 50, 250, 550, 550) >>> pause() >>> close_graph()
参数: - points – 点坐标值列表
- image – 要绘制的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
poly_line
(*end_points, image: easygraphics.image.Image = None)¶ 画一条折线(ploy line)。
参数“end_points”是端点列表。列表中的每对数是一个点的坐标。各端点依次连接,构成了一条折线。
例如,如果参数“end_points”的值是[50,50,550,350, 50,150,550,450, 50,250,550,550], draw_poly_line()会用5条线段依次连接点(50,50)、(550,350)、(50,150)、(550,450)、(50,250)和(550,550)。
>>> from easygraphics import * >>> init_graph(600,600) >>> draw_poly_line(50,50,550,350,50,150,550,450,50,250,550,550) >>> pause() >>> close_graph()
参数: - end_points – 点坐标值列表
- image – 要绘制的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
draw_poly_line
(*end_points, image: easygraphics.image.Image = None)¶ 画一条折线(ploy line)。
参数“end_points”是端点列表。列表中的每对数是一个点的坐标。各端点依次连接,构成了一条折线。
例如,如果参数“end_points”的值是[50,50,550,350, 50,150,550,450, 50,250,550,550], draw_poly_line()会用5条线段依次连接点(50,50)、(550,350)、(50,150)、(550,450)、(50,250)和(550,550)。
>>> from easygraphics import * >>> init_graph(600,600) >>> draw_poly_line(50,50,550,350,50,150,550,450,50,250,550,550) >>> pause() >>> close_graph()
参数: - end_points – 点坐标值列表
- image – 要绘制的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
polygon
(*vertices, image: easygraphics.image.Image = None)¶ 画一个空心多边形。
参数“vertices”是多边形的顶点列表。列表中的每对数是一个顶点的坐标。各顶点依次首尾相连构成了一个多边形。
例如,如果“vertices”的值是[50,50,550,350, 50,150],polygon()会画一个三角形,其三个顶点分别位于(50,50)、(550,350)和(50,150)。
画出的多边形是空心的。
>>> from easygraphics import * >>> init_graph(600,600) >>> set_color(Color.RED) >>> polygon(50,50,550,350,50,150) >>> pause() >>> close_graph()
参数: - vertices – 点坐标值列表
- image – 要绘制的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
draw_polygon
(*vertices, image: easygraphics.image.Image = None)¶ 画一个多边形。
参数“vertices”是多边形的顶点列表。列表中的每对数是一个顶点的坐标。各顶点依次首尾相连构成了一个多边形。
例如,如果“vertices”的值是[50,50,550,350, 50,150],draw_polygon()会画一个三角形,其三个顶点分别位于(50,50)、(550,350)和(50,150)。
画出的多边形是实心的,有轮廓。
>>> from easygraphics import * >>> init_graph(600,600) >>> set_color(Color.RED) >>> set_fill_color(Color.LIGHT_MAGENTA) >>> draw_polygon(50,50,550,350,50,150) >>> pause() >>> close_graph()
参数: - vertices – 点坐标值列表
- image – 要绘制的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
fill_polygon
(*vertices, image: easygraphics.image.Image = None)¶ 填充一个多边形。
参数“vertices”是多边形的顶点列表。列表中的每对数是一个顶点的坐标。各顶点依次首尾相连构成了一个多边形。
例如,如果“vertices”的值是[50,50,550,350, 50,150],fill_polygon()会填充一个三角形,其三个顶点分别位于(50,50)、(550,350)和(50,150)。
画出的多边形没有边框。
>>> from easygraphics import * >>> init_graph(600,600) >>> set_fill_color(Color.LIGHT_MAGENTA) >>> fill_polygon(50,50,550,350,50,150) >>> pause() >>> close_graph()
参数: - vertices – 点坐标值列表
- image – 要绘制的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
rect
(left: float, top: float, right: float, bottom: float, image: easygraphics.image.Image = None)¶ 画一个空心矩形,左上角位于点(left,top),右下角位于(right,bottom)。
画出的矩形是空心的。
参数: - left – 左上角的x坐标。
- top – 左上角的y坐标。
- right – 右下角的x坐标。
- bottom – 右下角的y坐标。
- image – 要绘制的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
draw_rect
(left: float, top: float, right: float, bottom: float, image: easygraphics.image.Image = None)¶ 画一个矩形,其左上角位于点(left,top),右下角位于点(right,bottom)。
画出的矩形是实心的,有边框。
参数: - left – 左上角的x坐标。
- top – 左上角的y坐标。
- right – 右下角的x坐标。
- bottom – 右下角的y坐标。
- image – 要绘制的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
fill_rect
(left: float, top: float, right: float, bottom: float, image: easygraphics.image.Image = None)¶ 画一个矩形,其左上角位于点(left,top),右下角位于点(right,bottom)。
画出的矩形没有边框。
参数: - left – 左上角的x坐标。
- top – 左上角的y坐标。
- right – 右下角的x坐标。
- bottom – 右下角的y坐标。
- image – 要绘制的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
rounded_rect
(left: float, top: float, right: float, bottom: float, round_x: float, round_y: float, image: easygraphics.image.Image = None)¶ 画一个空心圆角矩形,左上角位于点(left,top),右下角位于(right,bottom)。边角椭圆弧在x轴方向上半径是“round_x”,在y轴方向上的半径是“round_y”。
画出的矩形是空心的。
参数: - left – 左上角的x坐标。
- top – 左上角的y坐标。
- right – 右下角的x坐标。
- bottom – 右下角的y坐标。
- round_x – 边角椭圆弧在x轴方向上的半径
- round_y – 边角椭圆弧在y轴方向上的半径
- image – 要绘制的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
draw_rounded_rect
(left: float, top: float, right: float, bottom: float, round_x: float, round_y: float, image: easygraphics.image.Image = None)¶ 画一个圆角矩形,左上角位于点(left,top),右下角位于(right,bottom)。边角椭圆弧在x轴方向上半径是“round_x”,在y轴方向上的半径是“round_y”。
画出的矩形是实心的,有边框。
参数: - left – 左上角的x坐标。
- top – 左上角的y坐标。
- right – 右下角的x坐标。
- bottom – 右下角的y坐标。
- round_x – 边角椭圆弧在x轴方向上的半径
- round_y – 边角椭圆弧在y轴方向上的半径
- image – 要绘制的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
fill_rounded_rect
(left: float, top: float, right: float, bottom: float, round_x: float, round_y: float, image: easygraphics.image.Image = None)¶ 填充一个圆角矩形,左上角位于点(left,top),右下角位于(right,bottom)。边角椭圆弧在x轴方向上半径是“round_x”,在y轴方向上的半径是“round_y”。
画出的矩形没有边框。
参数: - left – 左上角的x坐标。
- top – 左上角的y坐标。
- right – 右下角的x坐标。
- bottom – 右下角的y坐标。
- round_x – 边角椭圆弧在x轴方向上的半径
- round_y – 边角椭圆弧在y轴方向上的半径
- image – 要绘制的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
flood_fill
(x: int, y: int, border_color, image: easygraphics.image.Image = None)¶ 使用泛洪(Flood fill)算法填充封闭图形。
填充区域边界必须封闭,否则颜色会漏出到整个图片!
参数: - x – 起始点的x坐标
- y – 起始点的y坐标
- border_color – 填充区域边界的颜色。
- image – 要绘制的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
draw_image
(x: int, y: int, src_image: easygraphics.image.Image, src_x: int = 0, src_y: int = 0, src_width: int = -1, src_height: int = -1, with_background=True, composition_mode=None, dst_image: easygraphics.image.Image = None)¶ 将来源图片(src_image)复制到目的图片(dst_image)。
(x,y)指明绘制在目标图片的什么位置。
(x,y)指明来源图片中待复制区域的左上角位置。缺省为(0,0)。
(sw, sh)指明来源图片中待复制区域的宽度和高度。缺省(0,0)表示使用来源图片的宽度和高度。
如果参数“with_background”是False,来源图片的背景区域不会被复制。
最终结果取决于合成模式(compostion mode)和来源图片的背景。在缺省模式下(CompositionMode.SOURCE_OVER),源图中的透明区域不会覆盖目标图片上的原有内容。
参数: - x – 目标图片被覆盖区域的左上角x坐标
- y – 目标图片被覆盖区域的左上角y坐标
- src_image – the source image to be copied
- src_x – 源图中复制区域的左上角x坐标
- src_y – 源图中复制区域的左上角y坐标
- src_width – 源图中复制区域的宽度
- src_height – 源图中复制区域的高度
- with_background – 是否连同背景一起复制
- composition_mode – 如果是None,则使用目标图片的合成模式进行复制。
- dst_image – 要绘制的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
capture_screen
(left: int, top: int, right: int, bottom: int, target_img: easygraphics.image.Image)¶ 在图形窗口上截取指定区域的内容保存到图片中。
参数: - left – 截屏区域的左上角x坐标
- top – 截屏区域的左上角y坐标
- right – 截屏区域的右下角x坐标
- bottom – 截屏区域的右上角y坐标
- target_img – image to save the capture
-
easygraphics.
clear_device
(image: easygraphics.image.Image = None)¶ 清除指定图片上已经绘制的内容(露出背景色)。
参数: image – 要绘制的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
clear_view_port
(image: easygraphics.image.Image = None)¶ 清除视口中已经绘制的内容(露出背景色)。
参数: image – 要绘制的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
quadratic
(x0: float, y0: float, x1: float, y1: float, x2: float, y2: float, image: easygraphics.image.Image = None)¶ 绘制一条二次贝塞尔曲线(quadratic bezier curve)。
点(x0,y0),(x1,y1),(x2,y2),(x3,y3)是曲线的4个控制点。
参数: - x0 – 第一个控制点的x轴坐标
- y0 – 第一个控制点的y轴坐标
- x1 – 第二个点的x轴坐标
- y1 – 第二个控制点的y轴坐标
- x2 – 第三个控制点的x轴坐标
- y2 – 第三个控制点的x轴坐标
- image – 要绘制的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
draw_quadratic
(x0: float, y0: float, x1: float, y1: float, x2: float, y2: float, image: easygraphics.image.Image = None)¶ 绘制一条二次贝塞尔曲线(quadratic bezier curve)。
点(x0,y0),(x1,y1),(x2,y2),(x3,y3)是曲线的4个控制点。
参数: - x0 – 第一个控制点的x轴坐标
- y0 – 第一个控制点的y轴坐标
- x1 – 第二个点的x轴坐标
- y1 – 第二个控制点的y轴坐标
- x2 – 第三个控制点的x轴坐标
- y2 – 第三个控制点的x轴坐标
- image – 要绘制的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
fill_image
(color, image: easygraphics.image.Image = None)¶ 使用指定的颜色填充整个图片
参数: - color – 填充色
- image – 要绘制的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
clear
(image: easygraphics.image.Image = None)¶ 清除指定图片上已经绘制的内容(露出背景色)。
参数: image – 要绘制的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
draw_curve
(*points, image: easygraphics.image.Image = None)¶ 绘制一条Catmull-Romy样条曲线。
参数: - points – 控制点坐标
- image – 要绘制的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
curve
(*points, image: easygraphics.image.Image = None)¶ 绘制一条Catmull-Romy样条曲线。
参数: - points – 控制点坐标
- image – 要绘制的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
begin_shape
(type=0, image: easygraphics.image.Image = None)¶ 开始定义一个形状
参数: - type – 形状的类型。参见VertexType常量说明。
- image – 要绘制的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
end_shape
(close=False, image: easygraphics.image.Image = None)¶ 结束形状定义
参数: - close – 形状是否应该自动闭合。只有多义线(polyline)能自动闭合。
- image – 要绘制的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
vertex
(x: float, y: float, image: easygraphics.image.Image = None)¶ 定义一个顶点
参数: - x – 顶点的x坐标
- y – 顶点的y坐标
- image – 要绘制的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
bezier_vertex
(x1: float, y1: float, x2: float, y2: float, x3: float, y3: float, image: easygraphics.image.Image = None)¶ 定义一个三次贝塞尔曲线的顶点。曲线的第一个控制点是上次提供的最后一个顶点。
参数: - x1 – 第二个点的x轴坐标
- y1 – 第二个控制点的y轴坐标
- x2 – 第三个控制点的x轴坐标
- y2 – 第三个控制点的x轴坐标
- x3 – 第四个控制点的x轴坐标
- y3 – 第四个控制点的y轴坐标
- image – 要绘制的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
quadratic_vertex
(x1: float, y1: float, x2: float, y2: float, image: easygraphics.image.Image = None)¶ Define a quadratic Bezier curve vertex. The first control point of the curve the vertex defined last time.
参数: - x1 – 第二个点的x轴坐标
- y1 – 第二个控制点的y轴坐标
- x2 – 第三个控制点的x轴坐标
- y2 – 第三个控制点的x轴坐标
- image – 要绘制的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
curve_vertex
(x: float, y: float, image: easygraphics.image.Image = None)¶ 定义一个Catmull-Rom曲线顶点
参数: - x – 顶点的x坐标
- y – 顶点的y坐标
- image – 要绘制的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
bezier_point
(p0: float, p1: float, p2: float, p3: float, t: float)¶ 计算三次贝塞尔曲线上参数值为t的点的位置
注意,参数t的值必须介于0和1之间
参数: - p0 – 第一个控制点的位置
- p1 – 第二个控制点的位置
- p2 – 第三个控制点的位置
- p3 – 第四个控制点的位置
- t – 参数t
返回: 点的位置
-
easygraphics.
bezier_tangent
(p0: float, p1: float, p2: float, p3: float, t: float)¶ 计算三次贝塞尔曲线上参数值为t的点的切线斜率。
注意,参数t的值必须介于0和1之间
参数: - p0 – 第一个控制点的位置
- p1 – 第二个控制点的位置
- p2 – 第三个控制点的位置
- p3 – 第四个控制点的位置
- t – 参数t
返回: 点的切线斜率
-
easygraphics.
curve_point
(p0: float, p1: float, p2: float, p3: float, t: float)¶ 计算Catmull-Rom曲线上参数值为t的点的位置
注意,参数t的值必须介于0和1之间
参数: - p0 – 第一个控制点的位置
- p1 – 第二个控制点的位置
- p2 – 第三个控制点的位置
- p3 – 第四个控制点的位置
- t – 参数t
返回: 点的位置
-
easygraphics.
curve_tangent
(p0: float, p1: float, p2: float, p3: float, t: float)¶ 计算Catmull-Rom曲线上参数值为t的点的切线斜率。
注意,参数t的值必须介于0和1之间
参数: - p0 – 第一个控制点的位置
- p1 – 第二个控制点的位置
- p2 – 第三个控制点的位置
- p3 – 第四个控制点的位置
- t – 参数t
返回: 点的切线斜率
-
easygraphics.
draw_text
(x, y, *args, sep=' ', image: easygraphics.image.Image = None)¶ 在给定的位置(x,y)处打印文字。
参数: - x – 起始点的x坐标
- y – 起始点的y坐标
- args – 待打印的内容(与print()类似)
- sep – 用来连接字符串的分隔符
- image – 要绘制的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
draw_rect_text
(x: int, y: int, width: int, height: int, *args, flags=132, sep: str = ' ', image: easygraphics.image.Image = None)¶ 在指定的矩形区域中打印文字。
TextFlag中定义了可用的标志常量。可用按位或操作连接多个标志。
参数: - x – 输出区域的左上角x坐标
- y – 输出区域的左上角y坐标
- width – 输出区域的宽度
- height – 输出区域的高度
- args – 待打印的内容(与print()类似)
- flags – 对齐标志
- sep – 用来连接字符串的分隔符
- image – 要绘制的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
text_width
(text: str, image: easygraphics.image.Image = None) → int¶ 返回文字在指定图片中完整显示需要的宽度。
参数: - text – 文字内容
- image – 要绘制的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
返回: 返回文字在指定图片中完整显示需要的宽度。
-
easygraphics.
text_height
(image: easygraphics.image.Image = None) → int¶ 返回指定图片的文字(字体)高度。
参数: image – 要绘制的图片。None表示使用“绘图目标”图片(参见set_target()和get_target()) 返回: 返回指定图片的文字(字体)高度。
-
easygraphics.
set_target
(image: easygraphics.image.Image = None)¶ 设置绘制目标(target)
参数: image – Easygraphics的“绘图目标”。设为None表示绘制在绘图窗口中。
-
easygraphics.
get_target
() → Optional[easygraphics.image.Image]¶ 获取当前的绘制目标(target)。
返回: Easygraphics的“绘图目标”。设为None表示绘制在绘图窗口中。
-
easygraphics.
create_image
(width, height) → easygraphics.image.Image¶ 创建一个新图片。
参数: - width – 新图片的宽度
- height – 新图片的高度
返回: 创建的图片
-
easygraphics.
create_image_from_ndarray
(array) → easygraphics.image.Image¶ 将一个ndarray(opencv 3.0的图像格式)转化为easygraphics image对象。
-
easygraphics.
save_image
(filename: str, with_background=True, image: easygraphics.image.Image = None)¶ 保存图片到文件。
将with_background参数设为False,可以得到一个透明背景的图片。
注意JPEG格式的文件不支持透明色。如果需要背景透明,使用PNG格式。
参数: - filename – 文件路径
- with_background – True表示保存背景内容;False表示不保存背景(存为透明)。
- image – 要保存的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
close_image
(image: easygraphics.image.Image)¶ 关闭并清理指定的图片。
参数: image – 要关闭的图片。
-
easygraphics.
load_image
(filename: str) → easygraphics.image.Image¶ 读取图片文件。
参数: filename – 图片文件 返回: 读入的图片
-
easygraphics.
put_image
(x: int, y: int, src_image: easygraphics.image.Image, src_x: int = 0, src_y: int = 0, src_width: int = -1, src_height: int = -1, with_background=True, composition_mode=None, dst_image: easygraphics.image.Image = None)¶ 将来源图片(src_image)复制到目的图片(dst_image)。
(x,y)指明绘制在目标图片的什么位置。
(x,y)指明来源图片中待复制区域的左上角位置。缺省为(0,0)。
(sw, sh)指明来源图片中待复制区域的宽度和高度。缺省(0,0)表示使用来源图片的宽度和高度。
如果参数“with_background”是False,来源图片的背景区域不会被复制。
最终结果取决于合成模式(compostion mode)和来源图片的背景。在缺省模式下(CompositionMode.SOURCE_OVER),源图中的透明区域不会覆盖目标图片上的原有内容。
参数: - x – 目标图片被覆盖区域的左上角x坐标
- y – 目标图片被覆盖区域的左上角y坐标
- src_image – the source image to be copied
- src_x – 源图中复制区域的左上角x坐标
- src_y – 源图中复制区域的左上角y坐标
- src_width – 源图中复制区域的宽度
- src_height – 源图中复制区域的高度
- with_background – 是否连同背景一起复制
- composition_mode – 如果是None,则使用目标图片的合成模式进行复制。
- dst_image – 要绘制的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
create_image_from_file
(filename: str) → easygraphics.image.Image¶ 读取指定的图片文件。
参数: filename – 文件路径 返回: 读入的图片
-
easygraphics.
pause
()¶ 暂停程序,等待鼠标点击或者键盘按任意键继续。
>>> from easygraphics import * >>> init_graph(800,600) >>> pause() >>> close_graph()
-
easygraphics.
delay
(milliseconds: int)¶ 程序暂停指定的时间(毫秒)。
参数: milliseconds – 要等待的时间
-
easygraphics.
delay_fps
(fps: int)¶ 通过暂停程序来控制动画的FPS(Frame per seconds)。
合理的fps值为1-1000。注意程序不会检查这个参数的合法性。
这个函数不会跳帧。
参数: fps – 期望的fps 返回: False表示绘图窗口已关闭(应退出程序);否则为True
-
easygraphics.
delay_jfps
(fps, max_skip_count=0)¶ 通过暂停程序来控制动画的FPS(Frame per seconds)。带跳帧判断。
如果运行速度不够的话,会跳帧。
参数: - fps – 每秒帧数(最高1000)
- max_skip_count – 每次最多跳帧数(0表示可无限跳帧)
返回: True表示该帧未被跳过
-
easygraphics.
is_run
() → bool¶ 检查图形系统是否在运行。
返回: True表示图形系统正在运行。
-
easygraphics.
has_kb_msg
() → bool¶ 检查是否有键被按下。
和get_key()一起使用。
返回: True表示有键被按下,False表示没有
-
easygraphics.
has_kb_hit
() → bool¶ 检查是否有字符从键盘输入。
和get_char一起使用。
返回: True表示有键被按下,False表示没有
-
easygraphics.
has_mouse_msg
() → bool¶ 检查是否有鼠标按钮被按下或者松开。
和get_mouse_msg()一起使用。
返回: True表示有鼠标消息,False表示没有
-
easygraphics.
get_key
() → easygraphics.graphwin.KeyMessage¶ 获取键盘按下的键信息。(阻塞程序)
如果在前100ms内没有任何键被按下,程序会暂停直到有键被按下为止。
返回: key message
-
easygraphics.
get_char
() → str¶ 读取键盘输入的字符。(阻塞程序)
如果前100ms内没有任何字符输入,程序会暂停,直到有字符输入为止。
返回: 键盘输入的字符
-
easygraphics.
get_mouse_msg
() → easygraphics.graphwin.MouseMessage¶ 获取鼠标按钮按下或者松开信息。(阻塞)
如果前100ms内没有任何鼠标按钮按下或松开事件,程序会暂停,直到有鼠标事件发生。
返回: mouse message
-
easygraphics.
get_cursor_pos
() -> (<class 'int'>, <class 'int'>)¶ 获取鼠标光标的位置。(非阻塞)
返回: 光标位置坐标(x,y)
-
easygraphics.
get_click
() → easygraphics.graphwin.MouseMessage¶ 获取鼠标点击信息。(阻塞程序)
如果前100ms内没有任何鼠标点击事件,程序会暂停,直到有鼠标点击事件发生。
返回: 光标位置x坐标,y坐标,点击的鼠标按钮
检查是否包含鼠标左键。
参数“buttons”应该是get_click()或get_mouse()返回的值
参数: buttons – 要测试的按钮 返回: 是否包含鼠标左键
检查是否包含鼠标右键。
参数“buttons”应该是get_click()或get_mouse()返回的值
参数: buttons – 要测试的按钮 返回: 是否包含鼠标右键
检查是否包含鼠标中键。
参数“buttons”应该是get_click()或get_mouse()返回的值
参数: buttons – 要测试的按钮 返回: 是否包含鼠标中键
-
easygraphics.
clear_key_msg
()¶ 清除所有键盘按键消息。
-
easygraphics.
clear_char_msg
(self)¶ 清除所有字符按键消息。
-
easygraphics.
clear_mouse_msg
(self)¶ 清除所有鼠标消息
-
easygraphics.
contains_alt
(modifiers) → bool¶ 检查是否包含alt键
参数: modifiers – 要测试的修饰按钮(modifiers) 返回: 是否包含alt键
-
easygraphics.
contains_ctrl
(modifiers) → bool¶ 检查是否包含control键
参数: modifiers – 要测试的修饰按钮(modifiers) 返回: 是否包含control键
-
easygraphics.
contains_meta
(modifiers) → bool¶ 检查是否包含meta键
参数: modifiers – 要测试的修饰按钮(modifiers) 返回: 是否包含meta键
-
easygraphics.
contains_shift
(modifiers) → bool¶ 检查是否包含shift键
参数: modifiers – 要测试的修饰按钮(modifiers) 返回: 是否包含shift键
-
easygraphics.
init_graph
(width: int = 800, height: int = 600, headless: bool = False)¶ 初始化easygraphics系统,显示绘图窗口。
如果“headless”参数为True,easygraphics会以无窗口模式(headless模式)运行。在该模式下,不会显示绘图窗口。你可以使用该模式来绘制一张图片然后保存到文件中。
参数: - width – 绘图窗口的宽度(单位为像素)
- height – 绘图窗口的高度(单位为像素)
- headless – True表示以headless模式运行。
>>> from easygraphics import * >>> init_graph(800,600) #prepare and show a 800*600 window
-
easygraphics.
close_graph
()¶ 关闭绘图窗口。
程序也会结束。
>>> from easygraphics import * >>> init_graph(800,600) >>> pause() >>> close_graph()
-
easygraphics.
set_caption
(title: str)¶ 设置绘图窗口的标题
参数: title – 标题
-
easygraphics.
get_graphics_window
() → easygraphics.graphwin.GraphWin¶ 获取绘图窗口。
返回: 绘图窗口
-
easygraphics.
show_image
(image: easygraphics.image.Image = None)¶ 在qtconsole或者notebook中显示图片
参数: image – 要显示的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
begin_recording
()¶ 开始录制PNG格式动画
-
easygraphics.
save_recording
(filename: str)¶ 以PNG格式保存录制中的动画到文件中
参数: filename – 要保存的文件名
-
easygraphics.
add_record
(image: easygraphics.image.Image = None, **options)¶ 向录制中的动画中加入一帧
参数: image – 要抓取内容的图片。None表示使用“绘图目标”图片(参见set_target()和get_target())
-
easygraphics.
end_recording
()¶ 结束录制动画
-
easygraphics.
color_gray
(gray: int, alpha: int = 255) → PyQt5.QtGui.QColor¶ 创建灰色
参数: - gray – 灰度值
- alpha – 颜色的alpha通道值。255表示完全不透明
返回: 颜色
-
easygraphics.
color_rgb
(red: int, green: int, blue: int, alpha: int = 255) → PyQt5.QtGui.QColor¶ 创建RGB颜色。
参数: - red – 红色分量(red)值
- green – 绿色分量(green)值
- blue – 蓝色分量(blue)值
- alpha – 颜色的alpha通道值。255表示完全不透明
返回: 颜色
-
easygraphics.
color_cmyk
(c: int, m: int, y: int, k: int, alpha: int = 255) → PyQt5.QtGui.QColor¶ 创建CMYK颜色。
参数: - c – 青色(cyan)分量值
- m – 洋红色(magenta)分量值
- y – 黄色(yellow)值
- k – 黑色(black)值
- alpha – 颜色的alpha通道值。255表示完全不透明
返回: 颜色
-
easygraphics.
color_hsv
(h: int, s: int, v: int, alpha: int = 255) → PyQt5.QtGui.QColor¶ 创建HSV颜色。
参数: - h – 色调(hue)
- s – 饱和度(saturation)
- v – 明度
- alpha – 颜色的alpha通道值。255表示完全不透明
返回: 颜色
-
easygraphics.
color_hsl
(h: int, s: int, l: int, alpha: int = 255) → PyQt5.QtGui.QColor¶ 创建HSL颜色。
参数: - h – 色调(hue)
- s – 饱和度(saturation)
- l – 亮度(value)
- alpha – 颜色的alpha通道值。255表示完全不透明
返回: 颜色
-
easygraphics.
rgb
(red: int, green: int, blue: int, alpha: int = 255) → PyQt5.QtGui.QColor¶ 创建RGB颜色。
参数: - red – 红色分量(red)值
- green – 绿色分量(green)值
- blue – 蓝色分量(blue)值
- alpha – 颜色的alpha通道值。255表示完全不透明
返回: 颜色
-
easygraphics.
to_alpha
(new_color, alpha: int = None) → PyQt5.QtGui.QColor¶ 用所给的颜色和alpha值创建新颜色。
参数: - new_color – 基色
- alpha – 新颜色的alpha值
返回: 用给定的基色和alpha值构建新颜色
-
easygraphics.
pol2cart
(rho, theta)¶ 从极坐标转换为笛卡尔坐标。
参数: - rho – 点的极径rho(点到极点的距离)
- theta – 点的极角theta(极轴和点到极点间线段的夹角,单位为弧度)
返回: 点的x,y轴坐标
-
easygraphics.
cart2pol
(x, y)¶ 从笛卡尔坐标转换为极坐标。
参数: - x – 转换后点的x轴坐标
- y – 转换后点的y轴坐标
返回: 极径rho(点到极点的距离), 极角theta(极轴和点到极点间线段的夹角,单位为弧度)
-
easygraphics.
ortho_look_at
(eye_x: float, eye_y: float, eye_z: float, center_x: float, center_y: float, center_z: float, up_x: float, up_y: float, up_z: float) → PyQt5.QtGui.QMatrix4x4¶ 返回正交投影矩阵
参数: - eye_x –
- eye_y –
- eye_z –
- center_x –
- center_y –
- center_z –
- up_x –
- up_y –
- up_z –
返回: 矩阵
-
easygraphics.
isometric_projection
() → PyQt5.QtGui.QMatrix4x4¶ 返回等轴透视投影矩阵
-
easygraphics.
cart2sphere
(x: float, y: float, z: float) -> (<class 'float'>, <class 'float'>, <class 'float'>)¶ 从笛卡尔坐标转换为球坐标系。
参数: - x – x
- y – y
- z – z
返回: radius,θ,φ
-
easygraphics.
sphere2cart
(r: float, theta: float, phi: float) -> (<class 'float'>, <class 'float'>, <class 'float'>)¶ 从球坐标转换为笛卡尔坐标。
参数: - r – radius
- theta – θ
- phi – φ
返回: x,y,z
-
class
easygraphics.
Image
(image: PyQt5.QtGui.QImage)¶ 图片类。
使用PyQt的QImage来保存绘制的内容,QPainter作为绘图工具。
注意,Image对象内部保存并反复使用painter来绘图。因此,如果你希望直接在底层的qimage对象上画图,请使用get_painter()方法获取内部的painter对象,用它来绘制。还需要注意的时,因为Image对象内部还使用了另一个qimage对象来保存背景的掩码(mask),因此,你在自行绘制时必须正确设置掩码,否则set_background_color()和draw_image(with_background=False)会出错。
-
add_updated_listener
(listener: Callable[[], None])¶ 添加一个更新事件的监听器
参数: listener – 要添加的监听器
-
arc
(x1: float, y1: float, start_angle: float, end_angle: float, x2: float, y2: float)¶ 画一个空心椭圆弧,椭圆圆心位于点(x,y),x轴坐标为radius_x,y轴坐标为radius_y。弧的起始角为start_angle,结束角为end_angle。
说明:正的角度值为逆时针旋转;负的角度值为顺时针旋转。0度位于三点钟方向(X轴正向)。参数: - x1 – 椭圆圆心的x坐标
- y1 – 椭圆圆心的y坐标
- start_angle – 弧的起始角度
- end_angle – 弧的结束角度
- x2 – 椭圆x轴方向半径
- y2 – 椭圆y轴方向半径
-
begin_shape
(type=0)¶ 开始定义一个形状
参数: type – 形状的类型。参见VertexType常量说明。
-
bezier
(x0: float, y0: float, x1: float, y1: float, x2: float, y2: float, x3: float, y3: float)¶ 绘制一条三次贝塞尔曲线(cubic bezier curve)。
点(x0,y0),(x1,y1),(x2,y2),(x3,y3)是曲线的4个控制点。
参数: - x0 – 第一个控制点的x轴坐标
- y0 – 第一个控制点的y轴坐标
- x1 – 第二个点的x轴坐标
- y1 – 第二个控制点的y轴坐标
- x2 – 第三个控制点的x轴坐标
- y2 – 第三个控制点的x轴坐标
- x3 – 第四个控制点的x轴坐标
- y3 – 第四个控制点的y轴坐标
-
bezier_vertex
(x1, y1, x2, y2, x3, y3)¶ 定义一个三次贝塞尔曲线的顶点。曲线的第一个控制点是上次提供的最后一个顶点。
参数: - x1 – 第二个点的x轴坐标
- y1 – 第二个控制点的y轴坐标
- x2 – 第三个控制点的x轴坐标
- y2 – 第三个控制点的x轴坐标
- x3 – 第四个控制点的x轴坐标
- y3 – 第四个控制点的y轴坐标
-
chord
(x1: float, y1: float, start_angle: float, end_angle: float, x2: float, y2: float)¶ 画一个空心椭圆弓形(chord),椭圆圆心位于点(x,y),x轴坐标为radius_x,y轴坐标为radius_y;弓形的起始角度为start_angle,结束角度为end_angle。
画出的弓形是空心的。
说明:正的角度值为逆时针旋转;负的角度值为顺时针旋转。0度位于三点钟方向(X轴正向)。参数: - x1 – 椭圆圆心的x坐标
- y1 – 椭圆圆心的y坐标
- start_angle – 弓形的起始角度
- end_angle – 弓形的结束角度
- x2 – 椭圆x轴方向半径
- y2 – 椭圆y轴方向半径
-
clear
()¶ 清除指定图片上已经绘制的内容(露出背景色)。
-
clear_view_port
()¶ 清除视口中已经绘制的内容(露出背景色)。
-
close
()¶ 关闭并清理指定的图片。
参数: image – 要关闭的图片。
-
static
create
(width: int, height: int) → easygraphics.image.Image¶ 创建一个新图片。
参数: - width – 新图片的宽度
- height – 新图片的高度
返回: 创建的图片
-
static
create_from_file
(filename: str) → easygraphics.image.Image¶ 读取图片文件。
参数: filename – 图片文件 返回: 读入的图片
-
curve
(*points)¶ 绘制一条Catmull-Romy样条曲线。
参数: points – 控制点坐标
-
curve_vertex
(x: float, y: float)¶ 定义一个Catmull-Rom曲线顶点
参数: - x – 顶点的x坐标
- y – 顶点的y坐标
-
draw_arc
(x1: float, y1: float, start_angle: float, end_angle: float, x2: float, y2: float)¶ 画一个空心椭圆弧,椭圆圆心位于点(x,y),x轴坐标为radius_x,y轴坐标为radius_y。弧的起始角为start_angle,结束角为end_angle。
说明:正的角度值为逆时针旋转;负的角度值为顺时针旋转。0度位于三点钟方向(X轴正向)。参数: - x1 – 椭圆圆心的x坐标
- y1 – 椭圆圆心的y坐标
- start_angle – 弧的起始角度
- end_angle – 弧的结束角度
- x2 – 椭圆x轴方向半径
- y2 – 椭圆y轴方向半径
-
draw_bezier
(x0: float, y0: float, x1: float, y1: float, x2: float, y2: float, x3: float, y3: float)¶ 绘制一条三次贝塞尔曲线(cubic bezier curve)。
点(x0,y0),(x1,y1),(x2,y2),(x3,y3)是曲线的4个控制点。
参数: - x0 – 第一个控制点的x轴坐标
- y0 – 第一个控制点的y轴坐标
- x1 – 第二个点的x轴坐标
- y1 – 第二个控制点的y轴坐标
- x2 – 第三个控制点的x轴坐标
- y2 – 第三个控制点的x轴坐标
- x3 – 第四个控制点的x轴坐标
- y3 – 第四个控制点的y轴坐标
-
draw_chord
(x1: float, y1: float, start_angle: float, end_angle: float, x2: float, y2: float)¶ 画一个空心椭圆弓形(chord),椭圆圆心位于点(x,y),x轴坐标为radius_x,y轴坐标为radius_y;弓形的起始角度为start_angle,结束角度为end_angle。
画出的弓形是实心的,并且有轮廓。
说明:正的角度值为逆时针旋转;负的角度值为顺时针旋转。0度位于三点钟方向(X轴正向)。参数: - x1 – 椭圆圆心的x坐标
- y1 – 椭圆圆心的y坐标
- start_angle – 弓形的起始角度
- end_angle – 弓形的结束角度
- x2 – 椭圆x轴方向半径
- y2 – 椭圆y轴方向半径
-
draw_curve
(*points)¶ 绘制一条Catmull-Romy样条曲线。
参数: points – 控制点坐标
-
draw_ellipse
(x1: float, y1: float, x2: float, y2: float)¶ 以点(x,y)为中心,radius_x为x轴方向半径,radius_y为y轴方向半径,画矩形。
画出的椭圆是实心的,并且有轮廓线。
参数: - x1 – 椭圆圆心的x坐标
- y1 – 椭圆圆心的y坐标
- x2 – 椭圆x轴方向半径
- y2 – 椭圆y轴方向半径
-
draw_image
(x: int, y: int, image: easygraphics.image.Image, src_x: int = 0, src_y: int = 0, src_width: int = -1, src_height: int = -1, with_background=True, composition_mode=None)¶ 将来源图片(src_image)复制到目的图片(dst_image)。
(x,y)指明绘制在目标图片的什么位置。
(x,y)指明来源图片中待复制区域的左上角位置。缺省为(0,0)。
(sw, sh)指明来源图片中待复制区域的宽度和高度。缺省(0,0)表示使用来源图片的宽度和高度。
如果参数“with_background”是False,来源图片的背景区域不会被复制。
最终结果取决于合成模式(compostion mode)和来源图片的背景。在缺省模式下(CompositionMode.SOURCE_OVER),源图中的透明区域不会覆盖目标图片上的原有内容。
参数: - x – 目标图片被覆盖区域的左上角x坐标
- y – 目标图片被覆盖区域的左上角y坐标
- image – the source image to be copied
- src_x – 源图中复制区域的左上角x坐标
- src_y – 源图中复制区域的左上角y坐标
- src_width – 源图中复制区域的宽度
- src_height – 源图中复制区域的高度
- with_background – 是否连同背景一起复制
- composition_mode – 如果是None,则使用目标图片的合成模式进行复制。
-
draw_line
(x1: float, y1: float, x2: float, y2: float)¶ 在指定图片上画一条从点(x1,y1)到点(x2,y2)的线段。
参数: - x1 – 起始点的x坐标
- y1 – 起始点的y坐标
- x2 – 结束点的x坐标
- y2 – 起始点的y坐标
-
draw_lines
(*points)¶ 画多条直线。
参数“points”是一个2维点对的列表。里面应该包含偶数个点,每2个点组成一个点对(表示一条线段);每个点又包含x和y两个坐标。因此,如果你要画n条线段(n个点对),“points”列表中就应该有4n个数。
例如,如果“points”列表的值是[50,50,550,350, 50,150,550,450, 50,250,550,550],draw_lines()就会画三条线段,即:(50,50)到(550,350), (50,150)到(550,450), (50,250)到(550,550)。
参数: points – 点坐标值列表
-
draw_path
(path: PyQt5.QtGui.QPainterPath)¶ 画和填充一条路径
参数: path – 待绘制和填充的路径
-
draw_pie
(x1: float, y1: float, start_angle: float, end_angle: float, x2: float, y2: float)¶ 画一个椭圆饼(pie),椭圆圆心位于点(x,y),x轴坐标为radius_x,y轴坐标为radius_y;饼的起始角度为start_angle,结束角度为end_angle。
画出的饼是实心的,有轮廓线。
说明:正的角度值为逆时针旋转;负的角度值为顺时针旋转。0度位于三点钟方向(X轴正向)。参数: - x1 – 椭圆圆心的x坐标
- y1 – 椭圆圆心的y坐标
- start_angle – 饼的起始角度
- end_angle – 饼的结束角度
- x2 – 椭圆x轴方向半径
- y2 – 椭圆y轴方向半径
-
draw_point
(x: float, y: float)¶ 在指定图片的点(x,y)处画一个点。
参数: - x – 点的x坐标
- y – 点的y坐标
-
draw_poly_line
(*end_points)¶ 画一条折线(ploy line)。
参数“end_points”是端点列表。列表中的每对数是一个点的坐标。各端点依次连接,构成了一条折线。
例如,如果参数“end_points”的值是[50,50,550,350, 50,150,550,450, 50,250,550,550], draw_poly_line()会用5条线段依次连接点(50,50)、(550,350)、(50,150)、(550,450)、(50,250)和(550,550)。
参数: end_points – 点坐标值列表
-
draw_polygon
(*vertices)¶ 画一个多边形。
参数“vertices”是多边形的顶点列表。列表中的每对数是一个顶点的坐标。各顶点依次首尾相连构成了一个多边形。
例如,如果“vertices”的值是[50,50,550,350, 50,150],draw_polygon()会画一个三角形,其三个顶点分别位于(50,50)、(550,350)和(50,150)。
画出的多边形是实心的,有轮廓。
参数: vertices – 点坐标值列表
-
draw_quadratic
(x0, y0, x1, y1, x2, y2)¶ 绘制一条二次贝塞尔曲线(quadratic bezier curve)。
点(x0,y0),(x1,y1),(x2,y2),(x3,y3)是曲线的4个控制点。
参数: - x0 – 第一个控制点的x轴坐标
- y0 – 第一个控制点的y轴坐标
- x1 – 第二个点的x轴坐标
- y1 – 第二个控制点的y轴坐标
- x2 – 第三个控制点的x轴坐标
- y2 – 第三个控制点的x轴坐标
-
draw_rect
(x1: float, y1: float, x2: float, y2: float)¶ 画一个矩形,其左上角位于点(left,top),右下角位于点(right,bottom)。
画出的矩形是实心的,有边框。
参数: - x1 – 左上角的x坐标。
- y1 – 左上角的y坐标。
- x2 – 右下角的x坐标。
- y2 – 右下角的y坐标。
-
draw_rect_text
(x: int, y: int, width: int, height: int, flags=132, *args, sep=' ')¶ 在指定的矩形区域中打印文字。
TextFlag中定义了可用的标志常量。可用按位或操作连接多个标志。
参数: - x – 输出区域的左上角x坐标
- y – 输出区域的左上角y坐标
- width – 输出区域的宽度
- height – 输出区域的高度
- args – 待打印的内容(与print()类似)
- flags – 对齐标志
- sep – 用来连接字符串的分隔符
-
draw_rounded_rect
(x1: float, y1: float, x2: float, y2: float, round_x: float, round_y: float)¶ 画一个圆角矩形,左上角位于点(left,top),右下角位于(right,bottom)。边角椭圆弧在x轴方向上半径是“round_x”,在y轴方向上的半径是“round_y”。
画出的矩形是实心的,有边框。
参数: - x1 – 左上角的x坐标。
- y1 – 左上角的y坐标。
- x2 – 右下角的x坐标。
- y2 – 右下角的y坐标。
- round_x – 边角椭圆弧在x轴方向上的半径
- round_y – 边角椭圆弧在y轴方向上的半径
-
draw_text
(x: int, y: int, *args, sep=' ')¶ 在给定的位置(x,y)处打印文字。
参数: - x – 起始点的x坐标
- y – 起始点的y坐标
- args – 要打印的内容
- sep – 用来连接字符串的分隔符
-
draw_to_device
(device: PyQt5.QtGui.QPaintDevice)¶ 将整个图片绘制到指定的绘图设备上。
参数: device – 要绘制到的设备
-
ellipse
(x1: float, y1: float, x2: float, y2: float)¶ 画一个空心椭圆,椭圆圆心位于点(x,y),x轴坐标为radius_x,y轴坐标为radius_y。
画出的椭圆是空心的。
参数: - x1 – 椭圆圆心的x坐标
- y1 – 椭圆圆心的y坐标
- x2 – 椭圆x轴方向半径
- y2 – 椭圆y轴方向半径
-
end_shape
(close=False)¶ 结束形状定义
参数: close – 形状是否应该自动闭合。只有多义线(polyline)能自动闭合。
-
fill_chord
(x1: float, y1: float, start_angle: float, end_angle: float, x2: float, y2: float)¶ 画一个空心椭圆弓形(chord),椭圆圆心位于点(x,y),x轴坐标为radius_x,y轴坐标为radius_y;弓形的起始角度为start_angle,结束角度为end_angle。
画出的弓形没有轮廓。
说明:正的角度值为逆时针旋转;负的角度值为顺时针旋转。0度位于三点钟方向(X轴正向)。参数: - x1 – 椭圆圆心的x坐标
- y1 – 椭圆圆心的y坐标
- start_angle – 弓形的起始角度
- end_angle – 弓形的结束角度
- x2 – 椭圆x轴方向半径
- y2 – 椭圆y轴方向半径
-
fill_ellipse
(x1: float, y1: float, x2: float, y2: float)¶ 填充一个实心椭圆,圆心位于点(x,y),x轴方向半径为radius_x, y轴方向为radius_y。
画出的椭圆没有轮廓。
参数: - x1 – 椭圆圆心的x坐标
- y1 – 椭圆圆心的y坐标
- x2 – 椭圆x轴方向半径
- y2 – 椭圆y轴方向半径
-
fill_image
(color)¶ 使用指定的颜色填充整个图片
参数: color – 填充色
-
fill_path
(path: PyQt5.QtGui.QPainterPath)¶ 填充被路径包围的区域。
参数: path – 包围待填充区域的路径
-
fill_pie
(x1: float, y1: float, start_angle: float, end_angle: float, x2: float, y2: float)¶ 填充一个椭圆饼(pie),椭圆圆心位于点(x,y),x轴坐标为radius_x,y轴坐标为radius_y;饼的起始角度为start_angle,结束角度为end_angle。
画出的饼没有轮廓线。
说明:正的角度值为逆时针旋转;负的角度值为顺时针旋转。0度位于三点钟方向(X轴正向)。参数: - x1 – 椭圆圆心的x坐标
- y1 – 椭圆圆心的y坐标
- start_angle – 饼的起始角度
- end_angle – 饼的结束角度
- x2 – 椭圆x轴方向半径
- y2 – 椭圆y轴方向半径
-
fill_polygon
(*vertices)¶ 填充一个多边形。
参数“vertices”是多边形的顶点列表。列表中的每对数是一个顶点的坐标。各顶点依次首尾相连构成了一个多边形。
例如,如果“vertices”的值是[50,50,550,350, 50,150],fill_polygon()会填充一个三角形,其三个顶点分别位于(50,50)、(550,350)和(50,150)。
画出的多边形没有边框。
参数: vertices – 点坐标值列表
-
fill_rect
(x1: float, y1: float, x2: float, y2: float)¶ 画一个矩形,其左上角位于点(left,top),右下角位于点(right,bottom)。
画出的矩形没有边框。
参数: - x1 – 左上角的x坐标。
- y1 – 左上角的y坐标。
- x2 – 右下角的x坐标。
- y2 – 右下角的y坐标。
-
fill_rounded_rect
(x1: float, y1: float, x2: float, y2: float, round_x: float, round_y: float)¶ 填充一个圆角矩形,左上角位于点(left,top),右下角位于(right,bottom)。边角椭圆弧在x轴方向上半径是“round_x”,在y轴方向上的半径是“round_y”。
画出的矩形没有边框。
参数: - x1 – 左上角的x坐标。
- y1 – 左上角的y坐标。
- x2 – 右下角的x坐标。
- y2 – 右下角的y坐标。
- round_x – 圆角椭圆弧的x轴方向半径
- round_y – 边角椭圆弧在y轴方向上的半径
-
flip
(x: float, y: float, x1: float = 0, y1: float = 0)¶ 以过原点(x1,y1)和点(x,y)的直线为轴,反射(reflect)坐标系。
注意,所有绘制的内容都会被反射,包括文字。如果你只是希望改用Y轴正向向上的坐标系绘图,可使用set_flip_y()。
参数: - x – 第一个点的x轴坐标
- y – 第一个点的y轴坐标
- x1 – 第二个点的x轴坐标
- y1 – 第二个点的y轴坐标
-
flood_fill
(x: int, y: int, border_color)¶ 使用泛洪(Flood fill)算法填充封闭图形。
填充区域边界必须封闭,否则颜色会漏出到整个图片!
参数: - x – 起始点的x坐标
- y – 起始点的y坐标
- border_color – 填充区域边界的颜色。
-
get_background_color
()¶ 获取图片的背景色。
返回: 背景色
-
get_brush
() → PyQt5.QtGui.QBrush¶ 获取指定图片的画刷(brush)。
返回: 画刷
-
get_color
()¶ 获取指定的图片的前景色(画笔颜色)。
用它来画线或者轮廓线。
返回: 前景色
-
get_composition_mode
()¶ 获取指定图片的合成模式(Composition mode)。
- 绘图时,合成模式决定绘制的内容如何和图片上原有内容进行合成。
- (使用来源色和目标色。)
返回: 合成模式
-
get_ellipse_mode
()¶
-
get_fill_color
()¶ 获取指定图片的填充色。
会用它来填充图形。
返回: 填充色
-
get_fill_rule
()¶ 获取填充多边形时所用的算法。
返回: 填充多边形所用的算法
-
get_fill_style
()¶ 获取指定图片的填充样式。
会用它来填充图形。
返回: 填充样式
-
get_font
() → PyQt5.QtGui.QFont¶ 获取指定图片的字体。
返回: 指定图片的字体
-
get_font_size
() → int¶ 获取指定图片的字体大小。
返回: 指定图片的字体大小
-
get_height
()¶ 获取指定图片的高度。
返回: 图片高度
-
get_image
() → PyQt5.QtGui.QImage¶ 获取内部的QImage对象
注意:Easygraphics不会在每次绘制时创建和释放qpainter对象。因此如果你要自己使用qpainter来绘图,请使用get_painter()方法来获取内部的QPainter对象.
返回: 内部使用的QImage对象
-
get_line_style
()¶ 获取线型。
线型用于画线和形状轮廓。
返回: 线型
-
get_line_width
() → float¶ 获取线宽。
用它来画线或者轮廓线。
返回: 线宽
-
get_mask
() → PyQt5.QtGui.QImage¶ 获取背景掩码(mask)图片
返回: 背景掩码图片
-
get_mask_painter
() → PyQt5.QtGui.QPainter¶ 获取背景掩码的qpainter对象
返回: 内部使用的掩码qpainter对象
-
get_painter
() → PyQt5.QtGui.QPainter¶ 获取画图的QPainter对象。
返回: 内部使用的画笔对象
-
get_pen
() → PyQt5.QtGui.QPen¶ 获取指定图片的画笔。
返回: 画笔
-
get_pixel
(x: int, y: int) → PyQt5.QtGui.QColor¶ 获取指定像素的颜色。
参数: - x – 像素的x坐标
- y – 像素的y坐标
返回: 像素的颜色
-
get_rect_mode
()¶
-
get_transform
() → PyQt5.QtGui.QTransform¶ 获取图片的几何变换(transform)对象。
返回: 几何变换(Transform)
-
get_width
() → int¶ 获取指定图片的宽度。
返回: 图片宽度
-
get_x
() → float¶ 获取指定图片”当前绘图位置”的横坐标x。
部分函数会使用“当前绘图位置”进行绘制(参见line_to(),line_rel(),move_to()和move_rel())。
返回: 当前绘图位置的x坐标
-
get_y
() → float¶ 获取指定图片”当前绘图位置”的纵坐标y。
部分画图函数会使用“当前绘图位置”来绘制。(参见line_to(),line_rel(),move_to(),move_rel())
返回: 当前绘图位置的y坐标。
-
line
(x1: float, y1: float, x2: float, y2: float)¶ 在指定图片上画一条从点(x1,y1)到点(x2,y2)的线段。
参数: - x1 – 起始点的x坐标
- y1 – 起始点的y坐标
- x2 – 结束点的x坐标
- y2 – 起始点的y坐标
-
line_rel
(dx: float, dy: float)¶ 从当前绘图位置(x,y)到(x+dx,y+dy)画线,然后将当前绘图位置更新为(x+dx,y+dy)。
参数: - dx – 新当前绘图位置的x轴方向位移
- dy – 新当前绘图位置的y轴方向位移
-
line_to
(x: float, y: float)¶ 从当前绘图位置到(x,y)画线,然后将当前绘图位置更新为(x,y)。
参数: - x – 新当前绘图位置的x坐标
- y – 新当前绘图位置的y坐标
-
lines
(*points)¶ 画多条直线。
参数“points”是一个2维点对的列表。里面应该包含偶数个点,每2个点组成一个点对(表示一条线段);每个点又包含x和y两个坐标。因此,如果你要画n条线段(n个点对),“points”列表中就应该有4n个数。
例如,如果“points”列表的值是[50,50,550,350, 50,150,550,450, 50,250,550,550],draw_lines()就会画三条线段,即:(50,50)到(550,350), (50,150)到(550,450), (50,250)到(550,550)。
参数: points – 点坐标值列表
-
mirror
(x: float, y: float, x1: float = 0, y1: float = 0)¶ 以过原点(x1,y1)和点(x,y)的直线为轴,反射(reflect)坐标系。
注意,所有绘制的内容都会被反射,包括文字。如果你只是希望改用Y轴正向向上的坐标系绘图,可使用set_flip_y()。
参数: - x – 第一个点的x轴坐标
- y – 第一个点的y轴坐标
- x1 – 第二个点的x轴坐标
- y1 – 第二个点的y轴坐标
-
move_rel
(dx: float, dy: float)¶ 将绘图位置在x轴方向移动dx,在y轴方向移动dy。
如果旧位置是(x,y),那么新的位置将是(x+dx,y+dy)。
当前绘图位置被line_to()和line_rel()等函数使用。
参数: - dx – 新当前绘图位置的x轴方向位移
- dy – 新当前绘图位置的y轴方向位移
-
move_to
(x, y)¶ 设置当前绘图位置到(x,y)。
当前绘图位置被line_to(), line_rel()和move_rel()等函数使用。
参数: - x – 新当前绘图位置的x坐标
- y – 新当前绘图位置的y坐标
-
path
(path: PyQt5.QtGui.QPainterPath)¶ 画一条路径(path)。
参数: path – 要绘制的路径
-
pie
(x1: float, y1: float, start_angle: float, end_angle: float, x2: float, y2: float)¶ 画一个空心椭圆饼(pie),椭圆圆心位于点(x,y),x轴坐标为radius_x,y轴坐标为radius_y;饼的起始角度为start_angle,结束角度为end_angle。
画出的饼是空心的。
说明:正的角度值为逆时针旋转;负的角度值为顺时针旋转。0度位于三点钟方向(X轴正向)。参数: - x1 – 椭圆圆心的x坐标
- y1 – 椭圆圆心的y坐标
- start_angle – 饼的起始角度
- end_angle – 饼的结束角度
- x2 – 椭圆x轴方向半径
- y2 – 椭圆y轴方向半径
-
poly_line
(*end_points)¶ 画一条折线(ploy line)。
参数“end_points”是端点列表。列表中的每对数是一个点的坐标。各端点依次连接,构成了一条折线。
例如,如果参数“end_points”的值是[50,50,550,350, 50,150,550,450, 50,250,550,550], draw_poly_line()会用5条线段依次连接点(50,50)、(550,350)、(50,150)、(550,450)、(50,250)和(550,550)。
参数: end_points – 点坐标值列表
-
polygon
(*vertices)¶ 画一个空心多边形。
参数“vertices”是多边形的顶点列表。列表中的每对数是一个顶点的坐标。各顶点依次首尾相连构成了一个多边形。
例如,如果“vertices”的值是[50,50,550,350, 50,150],polygon()会画一个三角形,其三个顶点分别位于(50,50)、(550,350)和(50,150)。
画出的多边形是空心的。
参数: vertices – 点坐标值列表
-
pop_transform
()¶ 从栈(stack)中取出最近一次压入的几何变换,并将其设置为图片的当前变换。
-
push_transform
()¶ 将当前的几何变换(transform)压入栈(stak)中。
-
put_pixel
(x: int, y: int, color)¶ 将指定像素设为指定的颜色。
参数: - x – 像素的x坐标
- y – 像素的y坐标
- color – 颜色
-
quadratic
(x0, y0, x1, y1, x2, y2)¶ 绘制一条二次贝塞尔曲线(quadratic bezier curve)。
点(x0,y0),(x1,y1),(x2,y2),(x3,y3)是曲线的4个控制点。
参数: - x0 – 第一个控制点的x轴坐标
- y0 – 第一个控制点的y轴坐标
- x1 – 第二个点的x轴坐标
- y1 – 第二个控制点的y轴坐标
- x2 – 第三个控制点的x轴坐标
- y2 – 第三个控制点的x轴坐标
-
quadratic_vertex
(x1, y1, x2, y2)¶ Define a quadratic Bezier curve vertex. The first control point of the curve the vertex defined last time.
参数: - x1 – 第二个点的x轴坐标
- y1 – 第二个控制点的y轴坐标
- x2 – 第三个控制点的x轴坐标
- y2 – 第三个控制点的x轴坐标
-
rect
(x1: float, y1: float, x2: float, y2: float)¶ 画一个空心矩形,左上角位于点(left,top),右下角位于(right,bottom)。
画出的矩形是空心的。
参数: - x1 – 左上角的x坐标。
- y1 – 左上角的y坐标。
- x2 – 右下角的x坐标。
- y2 – 右下角的y坐标。
-
reflect
(x: float, y: float, x1: float = 0, y1: float = 0)¶ 以过原点(x1,y1)和点(x,y)的直线为轴,反射(reflect)坐标系。
注意,所有绘制的内容都会被反射,包括文字。如果你只是希望改用Y轴正向向上的坐标系绘图,可使用set_flip_y()。
参数: - x – 第一个点的x轴坐标
- y – 第一个点的y轴坐标
- x1 – 第二个点的x轴坐标
- y1 – 第二个点的y轴坐标
-
remove_updated_listener
(listener: Callable[[], None])¶ 删除一个更新事件监听器
参数: listener – 要删除的监听器
-
reset_transform
()¶ 重置(取消)所有几何变换。
-
reset_view_port
()¶ 恢复缺省的视口设置。
-
reset_window
()¶ 恢复缺省的逻辑窗口设置。(参阅set_window())
-
restore_settings
()¶ 恢复之前保存的绘图设置。
参阅save_settings()。
注意:当前位置不会被保存。
-
rotate
(degree: float, x: float = 0, y: float = 0)¶ 顺时针绕点(x,y)旋转坐标系。
参数: - degree – 旋转角度(单位为角度)
- x – 旋转中心的x轴坐标
- y – 旋转中心的y轴坐标
-
rounded_rect
(x1: float, y1: float, x2: float, y2: float, round_x: float, round_y: float)¶ 画一个空心圆角矩形,左上角位于点(left,top),右下角位于(right,bottom)。边角椭圆弧在x轴方向上半径是“round_x”,在y轴方向上的半径是“round_y”。
画出的矩形是空心的。
参数: - x1 – 左上角的x坐标。
- y1 – 左上角的y坐标。
- x2 – 右下角的x坐标。
- y2 – 右下角的y坐标。
- round_x – 边角椭圆弧在x轴方向上的半径
- round_y – 边角椭圆弧在y轴方向上的半径
-
save
(filename: str, with_background=True)¶ 保存图片到文件。
将with_background参数设为False,可以得到一个透明背景的图片。
注意JPEG格式的文件不支持透明色。如果需要背景透明,使用PNG格式。
参数: - filename – 文件路径
- with_background – True表示保存背景内容;False表示不保存背景(存为透明)。
-
save_settings
()¶ 保存当前的绘图设置。
参阅restore_settings()。
注意:当前位置不会被保存。
-
scale
(sx: float, sy: float)¶ 坐标轴沿x轴方向缩放(scale)sx倍,沿y轴方向缩放sy倍。
参数: - sx – x轴方向的缩放因子
- sy – y轴方向的缩放因子
-
set_antialiasing
(anti: bool = True)¶ 反锯齿设置
参数: anti – 是否应打开反锯齿
-
set_background_color
(background_color)¶ 设置和修改背景色。
颜色可以使用Color类中定义的常量,颜色名,表示rgb的整数,也可以使用color_rgb()等函数创建。
参数: background_color – 背景色
-
set_brush
(brush: PyQt5.QtGui.QBrush)¶ 设置画刷。
参数: brush – 画刷
-
set_clip_rect
(left: int, top: int, right: int, bottom: int)¶ 设置矩形剪裁区域。
绘制在裁剪区域外的内容会被裁掉。
参数: - left – 裁剪区域左边的坐标
- top – 裁剪区域顶部的坐标
- right – 裁剪区域右边的坐标
- bottom – 裁剪区域底部的坐标
-
set_clipping
(clipping: bool)¶ 设置是否启用剪裁。
使用set_clip_rect()来设置裁剪区域。
参数: clipping – True会打开裁剪;False会关闭裁剪
-
set_color
(color)¶ 设置指定图片的前景色。
用它来画线或者轮廓线。
颜色可以使用Color类中定义的常量,颜色名,表示rgb的整数,也可以使用color_rgb()等函数创建。
参数: color – 前景色
-
set_composition_mode
(mode)¶ 获取指定图片的合成模式(Composition mode)。
合成模式控制绘制的内容如何和图片上的原有内容进行合成。
参数: mode – 合成模式
-
set_ellipse_mode
(mode)¶
-
set_fill_color
(fill_color)¶ 设置指定图片的填充色。
会用它来填充图形。
颜色可以使用Color类中定义的常量,颜色名,表示rgb的整数,也可以使用color_rgb()等函数创建。
参数: fill_color – 填充色
-
set_fill_rule
(rule)¶ 设置填充多边形时所用的算法。
参数: rule – 填充多边形时要用的算法
-
set_fill_style
(fill_style)¶ 设置指定图片的填充样式。
它被用于绘制和填充形状。在FillStyle中定义了可用的填充样式常量。
参数: fill_style – 填充样式
-
set_flip_y
(flip_y: bool) → None¶ 按X轴翻转图片(垂直翻转)。文字不会翻转。
在用set_flip_y()打开垂直翻转后,请不要再进行平移。如果需要改变原点位置,应先进行平移,再set_flip_y()。
注意:使用这个函数来代替reflect()/flip()/mirror(),如果你只是希望改用Y轴正向向上的坐标系来作图。
参数: flip_y – True打开垂直翻转,False关闭。
-
set_font
(font: PyQt5.QtGui.QFont)¶ 设置指定图片的字体。
参数: font – 要用的字体
-
set_font_size
(size: int)¶ 设置指定图片的字体大小。
参数: size – 指定图片的字体大小
-
set_line_style
(line_style)¶ 设置线型。
线型用于画线和形状轮廓。在LineStyle中定义了可用的线型常量,如LineStyle.SOLID_LINE等
参数: line_style – 线型
-
set_line_width
(width: float)¶ 设置线宽。
用它来画线或者轮廓线。
参数: width – 线宽
-
set_pen
(pen: PyQt5.QtGui.QPen)¶ 设置画笔
参数: pen – 要使用的画笔 返回:
-
set_rect_mode
(mode)¶
-
set_transform
(transform: PyQt5.QtGui.QTransform)¶ 设置图片的几何变换(transform)对象。
参数: transform – 要设置的几何变换
-
set_view_port
(left: int, top: int, right: int, bottom: int)¶ 设置指定图片的视口。
视口是图片上的绘图区域。
绘制在视口范围外的内容不会被剪裁。如果你希望剪裁绘制内容,请使用set_clip_rect()方法。
**如果视口和逻辑窗口的宽度和高度不一致,绘制的内容会被缩放。**所以通常在set_view_port()后set_window(),以保持二者大小一致。
参数: - left – 视口左边位置的坐标
- top – 视口顶部的坐标
- right – 视口右边位置的坐标
- bottom – 视口底部的坐标
-
set_window
(left: int, top: int, width: int, height: int)¶ 设置指定图片的逻辑窗口。
逻辑上讲,所有的内容首先绘制在逻辑窗口中,然后再映射到视口。映射时逻辑窗口的四个顶点会被拉伸,以和视口的对应顶点对齐。
如果你的视口是200x200大,然后使用set_window(-50,-50,100,100),将逻辑窗口设为左上角在(-50,-50),长宽均为100。那么逻辑窗口的左上角(-50,50)(逻辑坐标)就对应视口的(0,0),右下角(50,50)就对应视口的(200,200)。逻辑窗口中所有点都依此映射到视口上。
如果你只是需要对视图进行几何变换,可使用set_origin()/translate()/rotate()/scale()等函数。
画在逻辑窗口外的内容不会被裁掉。如果你希望剪裁,使用set_clip_rect()。
参数: - left – 逻辑窗口左上角的x坐标
- top – 逻辑窗口左上角的y坐标
- width – width of the logical window
- height – 逻辑窗口的高度
-
shear
(sh: float, sv: float, x: float = 0, y: float = 0)¶ 绕点(x,y)沿x轴方向和y轴方向同时对图像做剪切(shear或者skew)sh和sv倍。
参数: - sh – x轴方向的错切比例
- sv – y轴方向的错切比例
- x – 错切中心的x轴坐标
- y – 错切中心的y轴坐标
-
skew
(sh: float, sv: float, x: float = 0, y: float = 0)¶ 绕点(x,y)沿x轴方向和y轴方向同时对图像做剪切(shear或者skew)sh和sv倍。
参数: - sh – x轴方向的错切比例
- sv – y轴方向的错切比例
- x – 错切中心的x轴坐标
- y – 错切中心的y轴坐标
-
text_height
() → int¶ 返回指定图片的文字(字体)高度。
返回: 返回指定图片的文字(字体)高度。
-
text_width
(text: str) → int¶ 返回文字在指定图片中完整显示需要的宽度。
参数: text – 文字内容 返回: 返回文字在指定图片中完整显示需要的宽度。
-
to_bytes
(with_background=True, format: str = 'PNG') → bytes¶ 将图片转换为指定的格式(如PNG格式)的字节流
参数: - with_background – True表示保存背景内容;False表示不保存背景(存为透明)。
- format – 字节流内容的格式
返回: 以指定格式保存的二进制图片内容。
-
translate
(offset_x: float, offset_y: float)¶ 将坐标轴平移指定的位移。
参数: - offset_x – offset on the x coordinate
- offset_y – offset on the y coordinate
-
vertex
(x: float, y: float)¶ 定义一个顶点
参数: - x – 顶点的x坐标
- y – 顶点的y坐标
-
-
easygraphics.
easy_run
(main_func: Callable, width=640, height=480)¶
-
easygraphics.
in_easy_run_mode
() → bool¶
-
easygraphics.
register_for_clean_up
(obj)¶ 将一个对象注册,程序退出时会对其进行清理(调用其close()方法)