互动媒体技术期末作业——简易绘画系统

主题

编写一个“绘画系统”,提供一系列绘画材料(例如画笔/颜料/滤镜)给用户操作,以创作出动态/交互的绘画作品。这个绘画系统是对“绘画”的概念的扩展,但仍然体现出与传统绘画系统的相似性。

简单介绍

改作业参考了网上的代码框架,自己改动添加了一些新功能和自己的想法,参考链接https://blog.csdn.net/qq_27534999/article/details/79427721。

效果如下图,都是动态,然而电脑过于卡顿,只能发静态图了
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
主要的功能有

  • 自定义画笔颜色,也可以选取预置的颜色
    在这里插入图片描述
    快捷键依次为键盘1-0和-,=,黑色是自定义颜色,灰色哪个是背景颜色,快捷键为~,也可选为画笔颜色
  • 自定义背景颜色和大小
    在这里插入图片描述
  • 多种画笔,快捷键Q可切换不同画笔,T为画树
    在这里插入图片描述在这里插入图片描述
  • 空格键或者点击下方按钮即可切换动态和静态,可是运动的图形停下来
    List item
    在这里插入图片描述
  • W键或者点击下方按钮会出现一个时间笔刷,可使刷到的部分静止或者运动
    在这里插入图片描述
  • E键或者下方按钮是橡皮擦
    在这里插入图片描述
  • C键或者下方按钮为清屏
    在这里插入图片描述
  • S键或者下方按钮是保存图片
    在这里插入图片描述

如果时间足够,还可以继续添加N多种笔刷和动态效果,可惜电脑配置带不动(也可能是我优化做的不行)。
本人编程基础比较差,然而通过这次作业,突然发现读懂代码之后,提炼出框架,然后就可以疯狂往里面塞东西了,算是一大收获吧。
然后问题出现在运行时特别卡顿,我严重怀疑是我的代码有问题,然而还不知道怎么改,再接再厉。

扩展绘画概念的理念

  • 技法
    无论常规绘画还是编程或者其他形式的绘画,我觉得都应该需要一定的技法,美的东西都是有规律的
  • 工具
    绘画的工具不仅仅局限于纸笔,电脑和数位板,剪纸,沙画等等,会有很多形式,而我们主要接触的就是用代码来绘画,主要的工具就是电脑了
  • 创作体验
    传统绘画(手绘)算是基础吧,一般情况下手绘基础好体验也会更好
  • 呈现效果
    各有优点,码绘可以呈现很多手绘不能实现的效果,比如动态,比如数学公式生成的美丽图形
  • 载体
    绘画的载体可以是纸,沙地,墙,布,电脑,等等
  • 局限性
    限制我的是手绘能力和编程能力

参考文献:
https://blog.csdn.net/qq_27534999/article/details/79427721。
http://p5js.org/zh-Hans/reference/
https://blog.csdn.net/qq_40346122/article/details/83832420

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值