前言

在看到本次期末作业要求后,为了完成一个不一般的绘画系统,我查阅了openprocessing中的一些例子,先找了一个很有意思的绘画系统。

这个绘画系统随着鼠标移动速度,笔的粗细会发生改变,鼠标移动的同时笔的颜色发生改变,绘制完毕后颜色逐渐减淡后结束这个绘制过程。同时有两个交互键,转换黑白与彩色模式以及清屏功能。虽说很有意思,但是单纯的只有一种画笔,未免显得有点单调,并不能体现独有的特色,与通常的绘画方式不同。
因此我的想法是以此为基础,做一个比较特别的绘画系统。初步思想就是核心就是改变颜色的同时,利用不同形状、风格的笔型进行绘制,并且这些不同的笔形将不再与原先系统相同,属于传统的笔触。

小程序介绍


先搭好了框架,将原先系统的彩色和黑白模式删去了,只留下了彩色模式,原本的切换交互键改为改变颜色后显示颜色,并且在原有的基础上增添了5个笔型,点击交互键后可以根据交互键的颜色变化分辨是否激活笔型,至于每个笔型绘出的图形都是什么就看使用者的尝试了,有点类似于彩蛋的设置,因为这些笔型都不同于常规的绘制,绘制过程都不需要硬性规定。只要绘出自己满意的图案就行啦。
每种笔型都有各自的特点,我们可以吧6种画笔同时激活画出来就是一个比较杂乱抽象的效果,确实不同与传统的画笔。

看完全部的笔触同时创作后我们来看笔刷之间进行先后搭配,可以绘出的效果。

虽然有些抽象,但是可以理解为一个捧着花的小美女。
当然也可以只用两个笔触绘出一个简单的图像。

传统绘画系统与该小程序的区别

除了最初的系统就有的第一种笔型是比较接近于传统的笔触,其他基本上都是由不一样的图形组成的“另类”笔触。
同样都是用画笔画画,传统的创作软件与我制作出的绘画小工具区别有什么呢。在我看来主要有一些方面。首先要说的是绘画者的画技。传统的创作软件对于一个没有一点绘画基础的人,创作出来的作品极其有限,在大多数人看来并不那么赏心悦目。而利用已有的图形、色彩进行创作,尽管没有绘画基础,但凭借的自身所具有的想象力也可以创作出令人赏心悦目的画来,我认为这样的创作过程其实也是一种玩耍的过程。
说到玩耍,可以引出另一个方面,即为创作者的兴趣与体验。就我本人而已,我挺喜欢画画的。画画可以让我迷失自我,专心只为让画布中的作品更丰富、更惹人欢喜。但经常会出现瓶颈期,画什么都感觉不对,考虑的东西太多,比如构图、比例、色调等,最后便有些烦恼,让绘画不在那么充满愉悦,接着兴趣就有所减弱。不过使用我制作出的绘画小工具来进行创作,所需要考虑的就没那么多。只需要把自己想对这些已有的画笔做什么操作、组合,就可以完成一幅满意的作品,过程轻松愉悦,并且一些画笔充满了不少的随机性,就更加有意思了。但若考虑到随着时间的流逝,由于这个小程序就只有6种笔型,容易使人疲倦从而失去兴趣,少了刚接触时的乐趣。相比之下,传统的创作方法经过时间的流逝会因有画技提升、作品变得更加优秀得到的成就感,而后就会更喜欢投入到创作中。并且创作的局限性比较小,可以利用手中的画笔创作出各种各样的东西。在我看来,利用小程序进行即兴创作充满了乐趣,小玩过后还能得到一幅不错的作品,而传统的创作很适合经过一段时间的创作,在提高画技中寻找乐趣,还有提升技巧的成就感。
最后是对于绘画系统应用的看法。传统的绘画系统有些具有图像处理的功能,还有多种画笔,可以实现多种出彩创作,因此有很高的上限但其入门门槛较高,对于绘画基础薄弱,对图像理解不深的用户很难发挥其作用,创作出好作品。而自制的绘画系统本身的笔触就能代表一幅画,对于初学者来说简单有趣,在玩耍中绘画。而在这玩耍的过程能潜移默化的提高使用者的鉴赏水平,明白如何让画变得更有美感,让人赏心悦目。有了作画的兴趣、和初步的鉴赏能力后再用传统的绘画系统进行创作,会有更好的效果,避免了枯燥的学习过程。相同的效果就如老师让我们玩的编程游戏《极客战记》,在玩耍的过程中对编程有所了解,也能培养兴趣,之后在学习编程中不会在那么枯燥。

参考文献

https://www.openprocessing.org/sketch/141615
https://www.openprocessing.org/sketch/432330
https://www.openprocessing.org/sketch/170903
https://www.openprocessing.org/sketch/386707
https://www.openprocessing.org/sketch/403897
http://mariuswatz.com/works/abstract01js/

一个可以轻松上手绘画的小程序相关推荐

  1. 一个服务器可以放几个小程序,一个服务器可以放几个小程序

    一个服务器可以放几个小程序 内容精选 换一换 有很多网站,特别是目前的程序比较快,很多网站管理员可以使用不同的程序来构建网站,比如当下比较流行的PHP建站程序,当然还有之前比较火的APS,.net网站 ...

  2. 人工智能python小程序_Python:一个可以套路别人的python小程序

    一个可以套路别人的python小程序~ 先简要介绍一下程序. 程序是使用pycharm工具,python语言所写.程序包括客户端 client.py 和服务器端 server.py 两部分,利用了py ...

  3. 在日常生活中,经常会遇到某些需求对文件名称进行修改,借助刚学过的文件操作,编写一个可以批量修改文件名的小程序。

    在日常生活中,经常会遇到某些需求对文件名称进行修改,借助刚学过的文件操作,编写一个可以批量修改文件名的小程序. import os path=input('请输入文件路径(结尾加上/):') #获取该 ...

  4. 分享一个SQL文件的合并的小程序

    .net项目做久了,发现发布时候存储过程的打包一直是个很麻烦的事情,就是所有script都放在一个里面一起运行. 我想这个小程序应该对多数.net开发人都有用的,毕竟.net开发下没几个用ORM的,大 ...

  5. 写一个音乐播放器的微信小程序

    要创建一个音乐播放器的微信小程序,您需要熟悉微信小程序的开发环境和语言(如 JavaScript 和 WXML/WXSS). 具体来说,您需要做以下几件事: 设计音乐播放器的用户界面,并使用 WXML ...

  6. 做一个派发工单的微信小程序

    要制作一个派发工单的微信小程序,需要以下步骤: 了解微信小程序的开发环境和技术栈,比如微信小程序的前端语言.后端语言.数据存储方式等. 设计应用的功能需求,包括工单的创建.分配.执行和查询等. 根据功 ...

  7. 一个简单的银行存取款小程序

    一个简单的银行存取款小程序 来由 银行存取款程序 程序功能 程序主体 后期改进内容 来由 2019年3月17晚,心血来潮想学习编程,向着一个伟大的程序员的方向出发.在我贫穷的知识库中,所了解到的编程语 ...

  8. 基于Python编写一个B站全自动抽奖的小程序

    本文将利用Python编写一个B站全自动抽奖的小程序,可以实时监控自己关注的UP主,如果关注的UP主中有人发布了抽奖的动态,就自动参与这个抽奖.这样就能不错过任何一个可以暴富的机会了.需要的可以参考一 ...

  9. 耗时一个月,前端开发之小程序实战-----虎牙小程序

    文章目录 前言 一.小程序是什么? 二.知识储备 1.CSS 声明 基础知识 2.JavaScript 3.React React简介 React概述 React框架的优点 我谈React React ...

最新文章

  1. Adapterview和adapter的联系
  2. mysql 启动 内存_mysql启动内存的疑问
  3. ASP.NET Application,Session,Cookie和ViewState等对象用法和区别
  4. printf格式化字符串_Java printf()–将格式化的字符串打印到控制台
  5. 关于Spring Cloud Netflix
  6. 如何实现现实人脸照片的编码
  7. 【深度学习】CRNN 文字识别端对端模型 CTC损失
  8. Solaris11操作命令汇总
  9. QtSQL的使用心得
  10. “华为杯”山东理工大学第十一届 ACM程序设计竞赛 我不是股神
  11. Python numpy.ones函数方法的使用
  12. HTML DOM中的根节点是______,HTML DOM 学习
  13. 直播预约 | 如何通过MLOps解放和提升AI生产力?
  14. 记录一下CSR蓝牙做DFU的流程
  15. bitmap的六种压缩方式,Android图片压缩(转)
  16. 汉语拼音工具包相关实用方法
  17. floyd算法求解地铁路线问题
  18. 蚂蚁自研移动端 xNN-OCR 技术演进与能力开放
  19. 有一只兔子,从出生后第3个月起每个月都生一只兔子,小兔子长到第三个月后每个月又生一只兔子,假如兔 子都不死,问每个月的兔子总数为多少?
  20. Zookeeper客户端错误 Unable to read additional data from server

热门文章

  1. 为什么谐振时电抗为0_如何正确选择串联电抗器
  2. 虫趣:当NV显卡驱动碰上Verifier
  3. esxi5.5 集成AR8162/8166/8168网卡驱动
  4. 实用Excel技巧分享:快速整理考勤数据!
  5. Linux常用监控命令
  6. C语言源代码系列-管理系统之飞机售票系统设计
  7. Android12 多屏多用户
  8. 绘制3维人体模型的matlab代码
  9. MathCast 免费开源 数学公式 演算编辑器
  10. js的遍历器(Iterator)