用Pygame Zero 画矩形(空心、实心、多个矩形、多层同心矩形、彩虹条矩形、条纹相间、随机颜色矩形、特殊效果、渐变效果)

用Pygame Zero 画矩形

(空心、实心、多个矩形、多层同心矩形、彩虹条矩形、条纹相间、随机颜色矩形、特殊效果、渐变效果)

本文目录:

零、时光宝盒

一、绘制空心矩形

二、绘制实心矩形

三、画多个静止矩形

四、绘制多层同心矩形

4.1、绘制7层彩虹条矩形

4.2、绘制5层同心矩形

4.3、绘制20层同心随机彩色矩形

​4.4、绘制条纹相间的矩形

4.5、绘制梯形扇形

4.6、绘制图形

4.7、绘制条纹相间的同心矩形

4.8、绘制随机颜色的同心填充矩形

五、绘制有渐变效果的填充矩形


零、时光宝盒

2ab463de26a541818271efa176656ae6.png
逆境清醒:https://blog.csdn.net/weixin_69553582   

  每个人都是独一无二的,都有自己独特优胜过别人的地方,谁都不可能完全替代另外一个人。谁都有属于自己的独特人生需要去经历。
  如果真的关心一个人,有没有想过你给他(她)的是否他(她)心里最想要的?
  你认为(或者你身边的人)认为某个人一定知道的事情,其实这个人可能并不知道,是真的不知道,这当中有不可估计的变故。在未了解100%真相前做任何结论都是不明智的。

   逆境清醒
2025.1.13

此文地址:https://blog.csdn.net/weixin_69553582/article/details/145121515 

7f8eafc867aa425cab7d368ee0eb4dd8.gif

一、绘制空心矩形

效果如下图所示:

代码如下: 

import pgzrun
TITLE = "逆境清醒编程用法示例pgzrun——画矩形"
WIDTH = 400
HEIGHT = 200
def draw():
    screen.fill('white')
    rect=Rect((50, 50), (300, 100))
    screen.draw.rect(rect,'black')
pgzrun.go()

运行效果为在窗口中画了一个矩形,

def draw():

表示定义了一个绘图函数,冒号后面的语句表示具体的绘制工作。

    screen.fill('white')

screen.fill('white')语句中,screen表示屏幕,fill表示用括号里的颜色来填充整个背景画面。

代码表示显示背景是白色。

    rect=Rect((50, 50), (300, 100))
    screen.draw.rect(rect,'black')

    rect=Rect((50, 50), (300, 100))是描述所画的矩形

Rect(left, top, width, height) -> Rect

'black'表示圆的颜色为黑色。

二、绘制实心矩形

绘制实心矩形,效果如下:

代码如下:  

import pgzrun
TITLE = "逆境清醒编程用法示例pgzrun——画矩形"
WIDTH = 400
HEIGHT = 200
def draw():
    screen.fill('white')
    rect=Rect((50, 50), (300, 100))
    screen.draw.filled_rect(rect,'purple')
pgzrun.go()

运行代码,运行效果为在窗口中画了一个实心矩形,

这里使用了filled_rect函数,filled_rect就是填充矩形的意思。

    rect=Rect((50, 50), (300, 100))
    screen.draw.filled_rect(rect,'purple')

其中screen表示屏幕,draw为绘制的英文单词,filled_rect表示填充矩形;

'purple'表示矩形的颜色为紫色。

三、画多个静止矩形

要画多个小球,我们需要了解一下zero坐标系,

Pygame Zero 的坐标系以左上角为原点 ( 0, 0 )

  游戏窗口的绘制区域采用直角坐标系,左上角的坐标为(0,0)。

  横轴方向由x坐标表示,取值范围为0到最大横坐标,例如x=800;

  纵轴方向由y坐标表示,取值范围为0到最大纵坐标,例如y=600。

  游戏窗口中任一点的位置可由其(x,y)坐标表示。

绘制多个静止实心矩形

绘制多个静止实心矩形,效果如下:

运行以下代码,即可在对应的坐标位置绘制出图所示的3个矩形:

import pgzrun
TITLE = "逆境清醒编程用法示例pgzrun——画矩形"
WIDTH = 600
HEIGHT = 400
def draw():
    screen.fill('white')
    screen.draw.filled_rect(Rect((50, 50), (300, 100)), 'red')
    screen.draw.filled_rect(Rect((150, 150), (300, 100)), 'green')
    screen.draw.filled_rect(Rect((250, 250), (300, 100)), 'blue')
pgzrun.go()

四、绘制多层同心矩形

4.1、绘制7层彩虹条矩形

绘制7层彩虹条矩形,效果如下:

相关的代码如下:

import pgzrun
TITLE = "逆境清醒编程用法示例pgzrun——画矩形"
WIDTH = 400
HEIGHT = 450
def draw():
    screen.fill('white')
    screen.draw.filled_rect(Rect((50, 50), (300, 50)), 'red')
    screen.draw.filled_rect(Rect((50, 100), (300, 50)), 'orange')
    screen.draw.filled_rect(Rect((50, 150), (300, 50)), 'yellow')
    screen.draw.filled_rect(Rect((50, 200), (300, 50)), 'green')
    screen.draw.filled_rect(Rect((50, 250), (300, 50)), 'cyan')
    screen.draw.filled_rect(Rect((50, 300), (300, 50)), 'blue')
    screen.draw.filled_rect(Rect((50, 350), (300, 50)), 'purple')
pgzrun.go()

4.2、绘制5层同心矩形

绘制5层同心矩形,效果如下:

相关的代码如下:

import pgzrun
TITLE = "逆境清醒编程用法示例pgzrun——画矩形"
WIDTH = 600
HEIGHT = 600
def draw():
    screen.fill('white')
    i=0
    for r in range(400,0, -40):
        screen.draw.rect(Rect((100+(400-r),100+(400-r)), (r-i*40, r-i*40)), 'purple')
        screen.draw.rect(Rect((100+(400-r)+20,(100+(400-r)+20)), (r-(i+1)*40,r-(i+1)*40)), 'white')
        i=i+1
pgzrun.go()

4.3、绘制20层同心随机彩色矩形

绘制20层同心随机彩色矩形,效果如下图所示:

代码如下:

import pgzrun
import random
TITLE = "逆境清醒编程用法示例pgzrun——画矩形"
WIDTH =360
HEIGHT = 360
def draw():
    screen.fill('white')
    i=0
    for r in range(30, 231, 10):
        rect = Rect((r, r), (300-i*20, 300-i*20))
        screen.draw.rect(rect, (random.randint(0, 255), random.randint(0, 255),random.randint(0, 255)))
        i=i+1
pgzrun.go()

​4.4、绘制条纹相间的矩形

绘制条纹相间的矩形,效果如下图所示:

相关代码如下:

import pgzrun
TITLE = "逆境清醒编程用法示例pgzrun——画矩形"
WIDTH = 400
HEIGHT = 400
def draw():
    screen.fill('white')
    for r in range(250, 0, -40):
        screen.draw.filled_rect(Rect((50, r), (300, 50)), 'purple')
        screen.draw.filled_rect(Rect((50, r - 20), (300, 50)), 'white')
pgzrun.go()

4.5、绘制梯形扇形

绘制梯形扇形,效果如下图所示:

相关代码如下:

import pgzrun
TITLE = "逆境清醒编程用法示例pgzrun——画矩形"
WIDTH = 350
HEIGHT = 350
def draw():
    screen.fill('white')
    for r in range(300, 0, -30):
        screen.draw.filled_rect(Rect((30,30), (300-r, r)), 'purple')
        screen.draw.filled_rect(Rect((30, 30), (300-r, r - 30)), 'white')
pgzrun.go()

4.6、绘制图形

效果如下图所示:

相关代码如下:

import pgzrun
TITLE = "逆境清醒编程用法示例pgzrun——画矩形"
WIDTH = 350
HEIGHT = 350
def draw():
    screen.fill('white')
    for r in range(300, 0, -30):
        screen.draw.filled_rect(Rect((30,30), (r,r)), 'purple')
        print( (r,r))
        print( (r- 30,r - 30))
        screen.draw.filled_rect(Rect((30, 30), (r- 15,r - 15)), 'white')
pgzrun.go()

4.7、绘制条纹相间的同心矩形

绘制绘制条纹相间的同心矩形,效果如下图所示:

相关代码如下:

#绘制同心多个填充矩形
import pgzrun
TITLE = "逆境清醒编程用法示例pgzrun——画矩形"
WIDTH = 600
HEIGHT = 600
def draw():
    screen.fill('white')
    i=0
    for r in range(400,0, -40):
        screen.draw.filled_rect(Rect((100+(400-r),100+(400-r)), (r-i*40, r-i*40)), 'purple')
        screen.draw.filled_rect(Rect((100+(400-r)+20,(100+(400-r)+20)), (r-(i+1)*40,r-(i+1)*40)), 'white')
        i=i+1
pgzrun.go()

4.8、绘制随机颜色的同心填充矩形

 效果如下图所示:

相关代码如下:

import pgzrun
import random
TITLE = "逆境清醒编程用法示例pgzrun——画矩形"
WIDTH =350
HEIGHT = 350
def draw():
    screen.fill('white')
    i=0
    for r in range(1, 201, 10):
        rect = Rect((r, r), (300-i*20, 300-i*20))
        screen.draw.filled_rect(rect, (random.randint(0, 255), random.randint(0, 255),random.randint(0, 255)))
        i=i+1
pgzrun.go()

五、绘制有渐变效果的填充矩形

绘制有渐变效果的填充矩形,效果如下图所示:

实现的代码为:

import pgzrun
import random
TITLE = "逆境清醒编程用法示例pgzrun——画矩形"
WIDTH =350
HEIGHT = 350
def draw():
    screen.fill('white')
    i=0
    for r in range(1, 201, 10):
        rect = Rect((r, r), (300-i*20, 300-i*20))
        screen.draw.filled_rect(rect, (r, 0, r))
        i=i+1
pgzrun.go()

 调整代码,我们还可以做出其他效果,例如实现有立体效果的矩形,如下图所示:

本系列Pygame Zero(pgzrun)文章:

1、Pygame Zero(pgzrun)详解(简介、使用方法、坐标系、目录结构、语法参数、安装、实例解释)

2、让我们一起用Pygame Zero 画圆形(空心圆圈、实心圆、多个小球、多层同心圆、随机颜色同心圆、有渐变效果填充圆)

3、用Pygame Zero 画矩形(空心、实心、多个矩形、多层同心矩形、彩虹条矩形、条纹相间、随机颜色矩形、特殊效果、渐变效果)

 推荐阅读:

逆境清醒文章总目录表

27d5b50d93a089da35ee1a28905f9719.jpeg​​​​

c64d8b4d0b6842ebe1196c0b1e3fba51.jpeg​​​​

a136a43cd0015088d4ce37b1bb653533.jpeg​​​​

给照片换底色(python+opencv) 猫十二分类 基于大模型的虚拟数字人__虚拟主播实例

0f92b28e915ca3cc26cfaaf47c5fc62d.jpeg

5d2b51be3e7e932be95355088e17d524.jpeg

3cf3fe3c1a186bfcbf12d4755b8950ae.jpeg

计算机视觉__基本图像操作(显示、读取、保存) 直方图(颜色直方图、灰度直方图) 直方图均衡化(调节图像亮度、对比度)

849b7a72434213407c862c8f8e071a22.png

9412a31659ba6db83d806c3f354dd1c0.png

fb29a865f75af8352dca5e3d56a09004.png

语音识别实战(python代码)(一)

 人工智能基础篇

 计算机视觉基础__图像特征

逆境清醒

637c349e8206c0651d1f2751ba128912.png

ce6afe00fdaa41f8aff1cf830e23f1ac.png 7364ac22aa4f40899b6d7597ad7d91b6.png

 matplotlib 自带绘图样式效果展示速查(28种,全)

PyCharm 社区版(2024.2.3)安装、配置、创建项目

pycharm汉化插件无法使用也无法卸载的解决方法

ec9793633e16de7b52fbf0b74ecfa2f3.png

1b1579176220a88ae2a53758f91a41d6.png c97237f650c44d0da960e88c37fc921d.png
Three.js实例详解___旋转的精灵女孩(附完整代码和资源)(一)

开源数据科学平台Anaconda简介

最新版本Anaconda 2024.06-1安装设置

6e420cca6a1313b93948785f689f5723.png

1da3f182e081ad8f3cfcf53013909b8b.png

ca733c1a99c6457a762d0e503855ce79.png

立体多层玫瑰绘图源码__玫瑰花python 绘图源码集锦

 Python 3D可视化(一)

让你的作品更出色——词云Word Cloud的制作方法(基于python,WordCloud,stylecloud)

f92dfeb72ec683025a63db2fe8a26492.png

1b2a866ebb074a1e5859dad42c435d5c.jpeg

8207b63755bf37b10807a046080f14df.png

 python Format()函数的用法___实例详解(一)(全,例多)___各种格式化替换,format对齐打印

 用代码写出浪漫__合集(python、matplotlib、Matlab、java绘制爱心、玫瑰花、前端特效玫瑰、爱心)

python爱心源代码集锦(18款)

b97d56fe7e3ce6234cb182ad86fef4ed.jpeg

6871f222e7db3f8ce83336ad50311c3a.png

b89ed1147e8a76e6c64b812d65e8f2ef.png

 Python中Print()函数的用法___实例详解(全,例多)

 Python函数方法实例详解全集(更新中...)

 《 Python List 列表全实例详解系列(一)》__系列总目录、列表概念

7090a17485b11d9da69e37e5756c6910.png

50313523c8c19f29270fb1110fe66ae9.png

用代码过中秋,python海龟月饼你要不要尝一口?

 python练习题目录

4c77c7a60782637db9e27b3deec7abee.png

c397ed3a22c7885194eb92b5b3883322.png

a18fbd27f15eaa98f0bb5a4fed8cbd8b.png

草莓熊python turtle绘图(风车版)附源代码

 ​草莓熊python turtle绘图代码(玫瑰花版)附源代码

 ​草莓熊python绘图(春节版,圣诞倒数雪花版)附源代码

36e2af3bf474c59b9c430b223417793b.png

542dbf91cfafa23e1ccdee94a7b22397.png

175f4dd5b5bb4e46915f57c9f853f001.jpeg

 巴斯光年python turtle绘图__附源代码

皮卡丘python turtle海龟绘图(电力球版)附源代码

【中秋月饼系列】2024年立体月饼新鲜出炉----python画月饼(1)附完整代码

逆境清醒

68b0f4704053ab870c16bb4e37897d63.png

25ff4b8d741f0942c50dd96b7e866386.jpeg

59bb0955631256520f0edd17f8304669.jpeg

 Node.js (v19.1.0npm 8.19.3) vue.js安装配置教程(超详细)

 色彩颜色对照表(一)(16进制、RGB、CMYK、HSV、中英文名)

2025年1月多家权威机构____编程语言排行榜__薪酬状况

7dda70990181a20a430cc7b13dc9d8aa.png

a1fea2de0187913a4cdb18473c512c55.png

96e1df3760ce3017026da2d1de069869.png

 手机屏幕坏了____怎么把里面的资料导出(18种方法)

【CSDN云IDE】个人使用体验和建议(含超详细操作教程)(python、webGL方向)

 查看jdk安装路径,在windows上实现多个java jdk的共存解决办法,安装java19后终端乱码的解决

逆境清醒

cc75265b98b9475cb68deece4f3def19.png

用代码画万圣节南瓜(python,MATLAB,html css)

8fe676a8d0404267af522df861a0a904.gif

CSS3 动画相关属性实例大全

49148faa34d949e999b8f0976a1fa8cb.png

CSS @规则(At-rules)系列详解

fa753f11d26d967646a85b78b53dc703.png

71e3b727d1634951aeed4e66cc536fe1.jpeg a1632ea3af784e47a1673144e360272e.gif
vue3 项目搭建教程(基于create-vue,vite,Vite + Vue)

圣诞节系列代码专辑(目录)

Markdown 语法详解大全(超级版)

4290a52c20eee861ee159e17659342f5.png

b126b976989a1e4f1ae40867407e8f4d.png

15f065b7e46b238db1e7382f70fd7076.png

2023年春节祝福第二弹——送你一只守护兔,让它温暖每一个你【html5 css3】画会动的小兔子,炫酷充电,字体特

 别具一格,原创唯美浪漫情人节表白专辑,(复制就可用)(html5,css3,svg)表白爱心代码(4套)

SVG实例详解系列(一)(svg概述、位图和矢量图区别(图解)、SVG应用实例)

f3a00b9bf85e8d36c21d8e9785f43a53.png

1f143789d9652fd35c1fabf11b6f149c.png

2c8047a9f87aa22a8abe57ad0081b1d9.png​​​​​​​

【程序人生】卡塔尔世界杯元素python海龟绘图(附源代码),世界杯主题前端特效5个(附源码) HTML+CSS+svg绘制精美彩色闪灯圣诞树,HTML+CSS+Js实时新年时间倒数倒计时(附源代码)

 2023春节祝福系列第一弹(上)(放飞祈福孔明灯,祝福大家身体健康)(附完整源代码及资源免费下载)

逆境清醒

a01e7c6663c27936b3c174265db14012.png​​​​​​​

6d12eed561af36157625a07b771f9b0b.png​​​​​​​

af9dcebc4110cf5b9a012a3ef7d268fe.png​​​​​​​

 tomcat11、tomcat10 安装配置(Windows环境)(详细图文)

 Tomcat端口配置(详细)

 Tomcat 启动闪退问题解决集(八大类详细)

逆境清醒

987cd5bf2ecef39fd782b5d64f0c3cbf.png 7bd749109565caaad3799224fad815a4.jpeg

信息系统项目管理师试题

云计算