绘制各种图形

#_*_coding:utf-8_*_
import pygame
from pygame.locals import *
from sys import exit
from random import *
from math import pi
pygame.init()
screen=pygame.display.set_mode((640,480),0,32)
points=[]
while True:
    for event in pygame.event.get():
        if event.type==QUIT:
            exit()
        if event.type==KEYDOWN:
            points=[]
            screen.fill((255,255,255))
        if event.type==MOUSEBUTTONDOWN:
            screen.fill((255,255,255))
            #画随机举行
            rc=(randint(0,255),randint(0,255),randint(0,255))
            rp=(randint(0,639),randint(0,479))
            rs=(639-randint(rp[0],639),479-randint(rp[1],479))
            pygame.draw.rect(screen,rc,Rect(rp,rs))
            #画随机椭圆
            rr=randint(1,200)
            pygame.draw.circle(screen,rc,rp,rr)

            #获取鼠标点击位置
            x,y=pygame.mouse.get_pos()
            points.append((x,y))
            #根据点击位置画弧线
            angle=(x/639)*pi*2
            pygame.draw.arc(screen,(0,0,0),(0,0,639,479),0,angle,3)
            #根据点击位置画椭圆
            pygame.draw.ellipse(screen,(0,255,0),(0,0,x,y))

            #画点击轨迹图
            if len(points)>1:
                pygame.draw.lines(screen,(155,155,0),False,points,2)
            for p in points:
                pygame.draw.circle(screen, (155, 155, 155), p, 3)

            pygame.display.update()

使用了常用图形的绘制:

矩形

圆形

椭圆

线

时间: 2024-12-28 21:44:25

绘制各种图形的相关文章

鼠标绘制简单图形

功能: 1.绘制的图形包括直线.椭圆和矩形,通过菜单对绘制的图形切换 2.在视图中使用鼠标动态的绘制图形 分析: 当窗口尺寸发生变化时,引起窗口重绘,会发送WM_PAINT消息,这时首先会擦除窗口的背景,然后再进行重绘操作,这样就把窗口中先前绘制的图形擦除掉了:可以将绘制图形的三要素(起点.终点.绘制类型)保存下来,在窗口重绘调用程序视图类窗口的OnDraw函数中再将图形根据保存的三要素重新输出: 1.数据 在视图中添加两个点坐标 CPoint m_ptOrigin;  //起点坐标 CPoin

[Tool] 使用Astah绘制UML图形

[Tool] 使用Astah绘制UML图形 前言 在软件开发的过程中,开发人员可以绘制UML图形来将分析设计内容转化为图形化文件,方便在团队之间传递分析设计结果.但在团队经费有限的情景中,可能没办法为每个项目成员都配置专业的UML绘制工具,例如Visual Studio Ultimate,来绘制UML图形,这时可以选择一些免费版本的绘制工具,做为团队间绘制UML图形的工具. 本篇文章介绍Astah这个提供免费版本的UML绘制工具,用来在团队经费有限的状况下,为每个成员配置UML绘制工具,避免软件

[html5] 学习笔记-Canvas 绘制渐变图形与绘制变形图形

在 HTML5 中,使用 Canvas API 绘制图形的知识,可以对绘制图形进行处理,包含使用 Canvas API 绘制渐变图形,使用 Canvas API 的坐标轴变换处理功能绘制变形图形.其中,左上方的点,为坐标轴原点(0,0). 1.绘制渐变图形 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <title></title> 5 <script> 6 function draw(id){ 7 va

PyQt5利用QPainter绘制各种图形

这个例子我做了好几天: 1)官网C++的源码,改写成PyQt5版本的代码,好多细节不会转化 2)网上的PyQt的例子根本运行不了 填了无数个坑,结合二者,终于能完成了一个关于绘图的东西.这个过程也掌握了很多新的知识点 [知识点] 1.关于多个点的使用 poitns = [QPoint(10, 80), QPoint(20, 10), QPoint(80, 30), QPoint(90, 70)] 请看: 1 # 定义多个点 2 points = [QPoint(10, 80), QPoint(2

史上最强大的40多个纯CSS绘制的图形

今天在国外的网站上看到了很多看似简单却又非常强大的纯 CSS 绘制的图形,里面有最简单的矩形.圆形和三角形,也有各种常见的多边形,甚至是阴阳太极和网站小图标,真的非常强大,分享给大家. Square (正方形) #square { width: 100px; height: 100px; background: red; } Rectangle (矩形) #rectangle { width: 200px; height: 100px; background: red; } Circle (圆形

css绘制特殊图形,meida查询,display inline-box间隙问题以及calc()函数

本文同时发表于本人个人网站 www.yaoxiaowen.com 距离上一篇文章已经一个月了,相比于写代码,发现写文章的确是更需要坚持的事情.言归正传,梳理一下这一个月来,在写ife任务时,有必要记录的问题吧.一,css画特殊图形. 在网页中,需要一些特殊图形时.比如半圆形,三角形等,我们一般是让ui切图,但是实际上,利用css的边框 (border)属性,我们可以绘制一些有规律的图形. 盒模型中元素有四个角,那么每个角就存在一个弧度的属性. 先看代码: 1 .half_circle{ 2 wi

使用gd2绘制基本图形

应用GD2函数可以绘制的图形有多种,最基本的图形包括条.圆.方形等.无论开发人员绘制多么复杂的图形,都是在这些最基本的图形的基础上进行深化的,只有掌握了最基本的图形的绘制方法,才能绘制出各种具有独特风格的图形. 在GD2中可以分别应用imageline()函数.imagearc()函数和imagerectangle()函数绘制直线,圆形和方法. 下面将介绍这些函数的使用方法: bool imageline( resource image, int x1, int y1, int x2, int

使用turtle模块绘制多边图形

python 版本:3.4.3 import 模块:turtle 使用turtle模块绘制多边图形,代码如下:  #-*- charset:utf-8 -*- import turtle #设置画笔笔迹宽度 turtle.pensize(3) #画三边形 turtle.color("red") turtle.penup() turtle.goto(-200,-50) turtle.pendown() turtle.circle(40, steps=3) #画四边形 turtle.col

如何在ChemDraw中绘制透视图形

ChemDraw虽然是一款常用的化学图形绘制软件,但是很多的用户对其使用还是了解的不多,因此,我们希望通过做一些教程来给大家做个参照.本教程将如何用ChemDraw软件绘制霍沃思(Haworth)D-葡萄糖结构透视图.  D-葡萄糖结构透视图形 绘制实例之前先进行以下操作: (1)从文件菜单选择New document. (2)从文件菜单选择Save as,出现存储对话框. (3)在对话框的文件名框中,输入tul5.cdx. (4)选择存储格式,在其中存储文件. (5)单击OK按钮. 以下是实例

Highcharts绘制各种图形

原文:Highcharts绘制各种图形 源代码下载地址:http://www.zuidaima.com/share/1550463741430784.htm   可以绘制各种图形,扇形,折线形,饼形等... 使用spring框架,数据库是mysql在数据库中建一个t_trade表