思考两个问题
问题一:提到绘画,大家会如何定义它?
问题二:提到绘画系统,大家又会想到什么?
首先,如何定义绘画,百科给出的定义是:
· 绘画在技术层面上,是一个以表面作为支撑面,再在其之上加上颜色的做法,那些表面可以是纸张或布,加颜色的工具可以通过画笔、也可以通过刷子、海绵或是布条等。
· 在艺术用语的层面上,绘画的意义亦包含利用此艺术行为再加上图形、构图及其他美学方法去达到画家希望表达的概念及意思。
· 绘画的类型分为:
水墨画 油画 版画 水粉画 壁画 漫画 工笔画 写意画 抽象画 青绿山水画 水墨山水画 白描画 指画 界画 内画 素描
这些定义给我的第一感觉是,传统认知的绘画基本上都是通过画笔在某些材质上作画,如果我们以一种全新的视角去看待绘画,这个定义是否依然不变呢?
下面,考虑第二个问题
我的第一反应是下图这类的绘画系统,可以实现绘画的基本功能,传统且经典
现在很多绘图软件加入了3d绘制的功能,如下图所示就是一个例子,可以看到除了3d绘制,它还有许多新的功能,例如贴纸、抠图等等
从绘画软件的功能变化中可以感受到,绘画软件在开发时不断在扩展或者是找到全新的角度来理解绘画的概念。
当我在构思绘画系统的时候,我想到的第一个关键词是有趣,第二个词是图像。首先,对于一个非专业的人说,我使用一个软件无外乎两种原因,需要或者是兴趣,因此在满足基本功能的前提下,我会选择一个更有趣的软件;第二,我认为绘图不一定是从全白开始绘制一张完整的图画,也可以是在已有的图画基础上继续创作或者对已有的图像进行一些处理,这类功能有些类似于现在人们常用的p图软件的功能,综上,我在完成的时候主要围绕上述两点考虑,下面介绍我的绘图系统。
首先是界面:左边是画布,右边是功能栏,图标上的内容实际是绘制出来的效果(图标较小,有些看不清楚)
下面依次介绍功能
1.选择画布颜色,右下角可以选择画布颜色,因为很多图以黑色为底比较好看,所以提供了黑色画布选项,选择黑色画布效果如下
2.新建画布
3.保存图片(只保存画布上的内容)
selectOutput("输入文件名", "selectFunc");
//保存
void selectFunc(File myfile)
{
if (myfile==null)
{
print("未选择");
return;
}
else
{
surface.setSize(1520, height);
print("文件路径是:", myfile.getAbsolutePath());
save(myfile.getAbsolutePath());
}
}
4.橡皮擦
5.选择颜色
上述功能与常见的绘图系统一致,从图标也可以清楚的判断出其功能
void action()
{
Color javacolor = JColorChooser.showDialog(this, "选择颜色", Color.RED);
c = color(javacolor.getRed(), javacolor.getGreen(), javacolor.getBlue());
}
6.笔刷一:自由画线,鼠标中键调整线条粗细
线宽无上限
void mouseWheel(MouseEvent event)
{
//调整线宽
float e=event.getCount()*2;
weight+=e;
if (weight<=0)
weight=2;
}