引言
- 在大连时接触了Java,Java非常优雅,我非常喜欢。期末老师要做一个项目作品,看着windows自带的画图软件,我决定自己动手做一个绘图软件。
- 经过无数次界面调试,刷新层叠关系令我爆肝了一个月,最终完成了这个2400行代码的绘图软件。Java语言是很优雅和工整的,本项目分层脉络也很清晰,因此不对此项目过多阐述。
- 绘图软件名为爱绘,本文介绍中将展示爱绘的功能,工程项目中附带我GtiHub爱绘项目地址,欢迎大家交流。
一、介绍
- 我将从开始界面、绘图界面、设置界面展现爱绘的功能。
1.1 开始界面
- 开始界面包含软件名爱绘、界面跳转按钮(绘图、文档、设置、关于)、菜单栏(文件、选项、编辑、帮助)。
- 菜单栏将一直存在于各个界面,绘图界面主要用于用户的创作工作,文档界面包含爱绘的使用说明,设置界面包含爱绘主题、调色板、绘图撤销的设定,关于界面是爱绘的开发信息。
1.2 绘图界面
- 绘图界面如下所示,当进入绘图界面时用户的鼠标光标将会被替换为画笔,按住鼠标即可在画布上进行绘画。
插入图片与绘图保存
-
绘图界面如下图所示,右侧是我画的蒙娜丽莎,看起来生动形象、惟妙惟肖,这与爱绘的强大绘画能力密不可分。
-
在绘图界面右键点击插入图片,插入蒙娜丽莎原画进行对比:
-
看起来差不多,点击文件-保存,即可将美丽的画作保存为本地图片。
图层替换和可见性
-
如果你还想进行创作可以添加图层,图层1是默认图层固定可见,其他图层可以设置可见性。点击图层2和图层1的替换按钮将两个图层替换,使得我们的美丽画作移动到图层2上,再设置图层2不可见。
-
替换图层并设置图层的可见性后效果如下:
绘图功能
- 右键点击颜色选择器,可以在颜色选择器中选择画笔的颜色
- 爱绘支持撤销和重做功能,我们可以按ALE+E撤销刚才插入的图片。当绘图时,我们可以在设置界面设置单次撤销数目,以支持一次撤销多次操作。
1.3 设置界面
软件主题
- 点击主界面设置或菜单栏-选项-设置,跳转到设置界面(您的画作不会因此消失),设置界面如下所设:
- 点击皮肤选择爱绘的主题颜色为蓝色,换肤后效果如下:
调色板
- 点击设置界面-调色板可切换调色板为三原色调色板
- 将鼠标放置于三原色其中之一的区域,通过滚轮即可调整对应原色值,三原色交汇处显示的是最终合成的颜色。
最佳布局
- 点击设置界面-最佳布局,会弹出调整最佳布局的窗口:
- 拉伸并移动最佳布局窗口为最佳后关闭最佳布局窗口即可:
- 点击选项-设为最佳布局,即可将窗口移动到最佳布局位置并且大小为最佳布局大小。
1.4 更多功能
- 爱绘还有许多功能尚未展示,包括鼠标显示为绘笔、橡皮擦功能、图形插值功能、PS图片、帮助文档等。
- 如果您想探索更多,请直接访问GitHub上的工程地址。
二、工程项目
2.1 项目层次
- 爱绘的整体项目图如下所示:
- gui中包含了UI界面类,instrument中包含了许多功能类比如将屏幕上的内容输出到图片中的功能,resource中包含了许多项目资源图片比如画笔和橡皮擦的图片,software中包含了main函数。本项目实际未使用到mysql数据库。
- gui中包含如下内:
- 其中dilogP代表调色板、选择图片文件等弹窗,drawTool代表绘制需要的工具如画笔或橡皮,elementp代表绘图的基本图片和可以插入的图形形状,panelp代表各个界面面板,windowp中包含了主界面类。
- 阅读源码建议从windowp开始看起,主面板上组装了各种各样的面板组件。可以通过修改dilogP来修改弹窗面板组件,可以修改drawTool来支持更多的绘画操作工具,可以通过修改elementp来支持更多的图形操作,可以通过panelp来调整各个面板的内容。
2.2 项目源代码
- GitHub上的项目地址如下,可以直接访问GitHub网站下载工程代码。
- 附上GitHub工程地址,拿走时请给博主点个关注哦!
- 爱绘项目GitHub网站地址