python语言创意绘画-Python街机模块的draw系列绘画例子集合

"""

draw系列绘画例子集合

"""

import arcade

import os

# 设置工作目录,以python -m启动程序时才有意义

file_path = os.path.dirname(os.path.abspath(__file__))

os.chdir(file_path)

# 设置分辨率和标题打开窗口,

arcade.open_window(600, 600, "arcade街机模块draw绘画举例_译者:李兴球")

# 设置背景颜色,查看所有颜色请参考以下网址:

# http://www.lixingqiu.com/?p=40

arcade.set_background_color(arcade.color.WHITE)

# 开始渲染

arcade.start_render()

# 画格子

for x in range(0, 601, 120):

arcade.draw_line(x, 0, x, 600, arcade.color.BLACK, 2)

# 画水平线条

for y in range(0, 601, 200):

arcade.draw_line(0, y, 800, y, arcade.color.BLACK, 2)

# 画一个点

arcade.draw_text("draw_point", 3, 405, arcade.color.BLACK, 12)

arcade.draw_point(60, 495, arcade.color.RED, 10)

# 画一些点

arcade.draw_text("draw_points", 123, 405, arcade.color.BLACK, 12)

point_list = ((165, 495),

(165, 480),

(165, 465),

(195, 495),

(195, 480),

(195, 465))

arcade.draw_points(point_list, arcade.color.ZAFFRE, 10)

# 画一根线条

arcade.draw_text("draw_line", 243, 405, arcade.color.BLACK, 12)

arcade.draw_line(270, 495, 300, 450, arcade.color.WOOD_BROWN, 3)

# 画一些线行

arcade.draw_text("draw_lines", 363, 405, arcade.color.BLACK, 12)

point_list = ((390, 450),

(450, 450),

(390, 480),

(450, 480),

(390, 510),

(450, 510)

)

arcade.draw_lines(point_list, arcade.color.BLUE, 3)

# 画连线条

arcade.draw_text("draw_line_strip", 483, 405, arcade.color.BLACK, 12)

point_list = ((510, 450),

(570, 450),

(510, 480),

(570, 480),

(510, 510),

(570, 510)

)

arcade.draw_line_strip(point_list, arcade.color.TROPICAL_RAIN_FOREST, 3)

# 画多边形

arcade.draw_text("draw_polygon_outline", 3, 207, arcade.color.BLACK, 9)

point_list = ((30, 240),

(45, 240),

(60, 255),

(60, 285),

(45, 300),

(30, 300))

arcade.draw_polygon_outline(point_list, arcade.color.SPANISH_VIOLET, 3)

# 画填充的多边形

arcade.draw_text("draw_polygon_filled", 123, 207, arcade.color.BLACK, 9)

point_list = ((150, 240),

(165, 240),

(180, 255),

(180, 285),

(165, 300),

(150, 300))

arcade.draw_polygon_filled(point_list, arcade.color.SPANISH_VIOLET)

# 画空心圆

arcade.draw_text("draw_circle_outline", 243, 207, arcade.color.BLACK, 10)

arcade.draw_circle_outline(300, 285, 18, arcade.color.WISTERIA, 3)

# 画实心圆

arcade.draw_text("draw_circle_filled", 363, 207, arcade.color.BLACK, 10)

arcade.draw_circle_filled(420, 285, 18, arcade.color.GREEN)

# 画空心椭圆,有一个旋转了45度

arcade.draw_text("draw_ellipse_outline", 483, 207, arcade.color.BLACK, 10)

arcade.draw_ellipse_outline(540, 273, 15, 36, arcade.color.AMBER, 3)

arcade.draw_ellipse_outline(540, 336, 15, 36,

arcade.color.BLACK_BEAN, 3, 45)

# 画实心椭圆,有一个旋转了45度

arcade.draw_text("draw_ellipse_filled", 3, 3, arcade.color.BLACK, 10)

arcade.draw_ellipse_filled(60, 81, 15, 36, arcade.color.AMBER)

arcade.draw_ellipse_filled(60, 144, 15, 36,

arcade.color.BLACK_BEAN, 45)

# 画圆弧,有一个旋转了角度

arcade.draw_text("draw_arc/filled_arc", 123, 3, arcade.color.BLACK, 10)

arcade.draw_arc_outline(150, 81, 15, 36,

arcade.color.BRIGHT_MAROON, 90, 360)

arcade.draw_arc_filled(150, 144, 15, 36,

arcade.color.BOTTLE_GREEN, 90, 360, 45)

# 画空心矩形,有一个旋转了45度

arcade.draw_text("draw_rect", 243, 3, arcade.color.BLACK, 10)

arcade.draw_rectangle_outline(295, 100, 45, 65,

arcade.color.BRITISH_RACING_GREEN)

arcade.draw_rectangle_outline(295, 160, 20, 45,

arcade.color.BRITISH_RACING_GREEN, 3, 45)

# 画实心矩形,有一个旋转了45度

arcade.draw_text("draw_filled_rect", 363, 3, arcade.color.BLACK, 10)

arcade.draw_rectangle_filled(420, 100, 45, 65, arcade.color.BLUSH)

arcade.draw_rectangle_filled(420, 160, 20, 40, arcade.color.BLUSH, 45)

# 加载图像显示出来

# Image from kenney.nl asset pack #1

arcade.draw_text("draw_bitmap", 483, 3, arcade.color.BLACK, 12)

texture = arcade.load_texture("images/playerShip1_orange.png")

scale = .6

arcade.draw_texture_rectangle(540, 120, scale * texture.width,

scale * texture.height, texture, 0)

arcade.draw_texture_rectangle(540, 60, scale * texture.width,

scale * texture.height, texture, 45)

# 在所有绘画完成后,调用结束渲染

arcade.finish_render()

# 进入运行循环

arcade.run()

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值