颜色与绘图 -- pygame学习(2)

颜色

光线主要有三种颜色:红色、绿色、蓝色,通过三种颜色的不同量组合可以形成所有颜色。
在pygame中,使用3个整数的元组代表红绿蓝三种颜色来表示任意颜色。
每个整数的值范围为0~255,代表一种颜色的深度,3种颜色的组合有255*255*255种颜色。
颜色的表示如下

BLACK = (0  ,  0,  0)
WHITE = (255,255,255)
RED   = (255,  0,  0)
GREEN = (0  ,255,  0)
BLUE  = (0  ,  0,255)

有时候,元组中添加了第四个整数作为alpha值,即为不透明度,如下就是半透明的黑色。

BLACK = (0  ,  0,  0,  128)

基本的绘制函数

pygame提供了在Surface上绘制形状如圆形,矩形,椭圆形,线条等的不同函数。
如下对函数进行简单介绍

fill(color)

fill()方法是Surface对象的一个方法,使用参数color代表的颜色填充整个Surface对象。

pygame. draw. polygon( surface, color, pointlist, width)#多边形

多边形图像函数,surface,color参数告诉函数将多边形绘制到哪个Surface上以及使用的颜色。pointlist参数是一个两个整数的元组的列表,告诉函数绘制的多边形的定点位置,width将决定多边形边的宽度。

pygame. draw. line( surface, color, start_ point, end_ point, width)

直线绘制函数,start_point,end_point分别为两个整数的元组,将告诉函数直线的始末位置,参数width则决定了直线的宽度。

pygame. draw. circle( surface, color, center_ point, radius, width)

圆的绘制函数,参数center_point为两个数的元组,告诉函数圆的圆心位置。

pygame. draw. rect( surface, color, rectangle_ tuple, width)

矩形绘制函数,参数rectangle_tuple为四个整数(矩形左上顶点的X,Y值,矩形的长,宽)组成的元组。

pygame. draw. ellipse( surface, color, bounding_ rectangle, width) 

椭圆绘制函数,参数bounding_rectangle为四个整数(椭圆外接矩形左上顶点的X,Y值,矩形的长,宽)组成的元组。
以上函数若不提供参数width的值,则图形将被填充。

代码的实现如下

import pygame
import sys
from pygame.locals import *

pygame.init()  #初始化
SURFACE = pygame.display.set_mode((500,500)) #创建窗口
pygame.display.set_caption("Drawing") #创建窗口标题

BLACK = (  0,  0,  0)
WHITE = (255,255,255)
RED   = (255,  0,  0)
GREEN = (  0,255,  0)
BLUE  = (  0,  0,255)
#定义颜色


SURFACE.fill(WHITE) #填充surface
pygame.draw.polygon(SURFACE,RED,((150,1),(20,100),(85,200),(225,200),(280,100)),10)
#绘制五边形
pygame.draw.line(SURFACE,BLUE,(60,300),(300,300),5)
#绘制直线
pygame.draw.circle(SURFACE,GREEN,(400,200),50)
#绘制填充圆
pygame.draw.circle(SURFACE,GREEN,(400,400),50,5)
#绘制镂空圆
pygame.draw.ellipse(SURFACE,BLUE,(50,350,100,40),3)
#绘制椭圆
pygame.draw.rect(SURFACE,RED,(250,360,50,30),6)
#绘制矩形


while True:
    for event in pygame.event.get():
        if event.type == QUIT:
            pygame.quit()
            sys.exit()

    pygame.display.update()
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值