Python 实现简单画板

相信用过 Windows 的同学一定都对 Windows 自带的画板不陌生吧,虽然功能简单却也还实用。那作为一名程序员,你是否想过自己实现这样一个画板呢?!

来吧,想自己实现画板的童鞋,和实验楼课程一起,利用 Pygame 模块来自己实现一个画板。

画板效果图:

此处输入图片的描述

Pygame 简介:

项目主要利用 Pygame 模块来进行开发,所以先简单的介绍一下 Pygame 。

Pygame 是跨平台 Python 模块,专为电子游戏设计。包含图像、声音。创建在 SDL 基础上,允许实时电子游戏研发而无需被低级语言,如 C 语言或是更低级的汇编语言束缚。基于这样一个设想,所有需要的游戏功能和理念都(主要是图像方面)完全简化位游戏逻辑本身,所有的资源结构都可以由高级语言提供,如 Python。

利用 Pygame 可以比较方便地实现很多经典的 2D 小游戏,比如 Flappy bird 、推箱子、象棋等,更有国外 12 岁小孩用 Pygame 开发了一个名为《兔子和獾》的塔防游戏。

所以只要你能积极开动想象力, Pygame 就能带来无限可能。

Pygame 程序的主要流程图如下:

此处输入图片的描述

开发准备——安装Pygame:

项目主要利用 Pygame 模块来进行开发,首先我们需要通过 pip 来安装 Pygame 模块。

$ sudo pip install pygame

安装完成之后可以进入 Python 的交互界面,通过以下命令查看安装的 Pygame 版本。

> import pygame> pygame.ver
此处输入图片的描述

项目目录树:

最终,我们完整的项目目录树为:

/home/shiyanlou/Code/Drawing_Board/
|-- Board.py
`-- images/ 
    |-- big.png
    |-- brush.png
    |-- pen1.png
    |-- pen2.png 
    `-- small.png

说明:

  • Board.py :画板程序,可以通过 vim 命令或者 gedit 编辑器进行创建和编辑。
  • images :图片资源文件夹

程序框架:

首先先介绍一下程序的主体框架,所涉及的类,后边再逐一深入实现。

# -*- coding: utf-8 -*-
import pygame
from pygame.locals import *
import math

# 画笔类
class Brush:
    pass

# 菜单类
class Menu:
    pass

# 画板类
class Painter:
    pass

# 主函数
def main():
    pass

if __name__ == '__main__':
    main()

说明:

  • Brush 类是画笔类。负责管理加载画笔笔刷,调整画笔颜色、大小以及画笔绘制的工作。
  • Menu 类是菜单类。负责管理和绘制菜单。菜单的功能包括允许切换画笔,调整画笔大小和选择画笔颜色。
  • Painter 类是画板类。是整个程序最核心的类,负责统筹其它两个类对象的调度以及事件的监听。
  • main 函数负责创建 Painter 对象,并且让画板运行。

具体实现

下面就开始编写代码,实现类和主函数,由于代码较多,如果想查看详细的代码和实现步骤,可以点击【Python 实现简单画板 】进行查看~

  • Brush 类
  • Menu 类
  • Painter 类
  • main 函数

你可能感兴趣的:(Python 实现简单画板)