Java自制绘图软件

Java自制绘图软件_第1张图片

引言

  • 在大连时接触了Java,Java非常优雅,我非常喜欢。期末老师要做一个项目作品,看着windows自带的画图软件,我决定自己动手做一个绘图软件。
  • 经过无数次界面调试,刷新层叠关系令我爆肝了一个月,最终完成了这个2400行代码的绘图软件。Java语言是很优雅和工整的,本项目分层脉络也很清晰,因此不对此项目过多阐述。
  • 绘图软件名为爱绘,本文介绍中将展示爱绘的功能,工程项目中附带我GtiHub爱绘项目地址,欢迎大家交流。

一、介绍

  • 我将从开始界面、绘图界面、设置界面展现爱绘的功能。

1.1 开始界面

  • 开始界面包含软件名爱绘、界面跳转按钮(绘图、文档、设置、关于)、菜单栏(文件、选项、编辑、帮助)。
  • 菜单栏将一直存在于各个界面,绘图界面主要用于用户的创作工作,文档界面包含爱绘的使用说明,设置界面包含爱绘主题、调色板、绘图撤销的设定,关于界面是爱绘的开发信息。
    Java自制绘图软件_第2张图片

1.2 绘图界面

  • 绘图界面如下所示,当进入绘图界面时用户的鼠标光标将会被替换为画笔,按住鼠标即可在画布上进行绘画。
    Java自制绘图软件_第3张图片

插入图片与绘图保存

  • 绘图界面如下图所示,右侧是我画的蒙娜丽莎,看起来生动形象、惟妙惟肖,这与爱绘的强大绘画能力密不可分。
    Java自制绘图软件_第4张图片

  • 在绘图界面右键点击插入图片,插入蒙娜丽莎原画进行对比:
    Java自制绘图软件_第5张图片

  • 看起来差不多,点击文件-保存,即可将美丽的画作保存为本地图片。
    Java自制绘图软件_第6张图片

图层替换和可见性

  • 如果你还想进行创作可以添加图层,图层1是默认图层固定可见,其他图层可以设置可见性。点击图层2和图层1的替换按钮将两个图层替换,使得我们的美丽画作移动到图层2上,再设置图层2不可见。
    Java自制绘图软件_第7张图片

  • 替换图层并设置图层的可见性后效果如下:
    Java自制绘图软件_第8张图片

绘图功能

  • 右键点击颜色选择器,可以在颜色选择器中选择画笔的颜色
    Java自制绘图软件_第9张图片
  • 爱绘支持撤销和重做功能,我们可以按ALE+E撤销刚才插入的图片。当绘图时,我们可以在设置界面设置单次撤销数目,以支持一次撤销多次操作。
    Java自制绘图软件_第10张图片

1.3 设置界面

软件主题

  • 点击主界面设置或菜单栏-选项-设置,跳转到设置界面(您的画作不会因此消失),设置界面如下所设:
    Java自制绘图软件_第11张图片
  • 点击皮肤选择爱绘的主题颜色为蓝色,换肤后效果如下:
    Java自制绘图软件_第12张图片

调色板

  • 点击设置界面-调色板可切换调色板为三原色调色板
    Java自制绘图软件_第13张图片
  • 将鼠标放置于三原色其中之一的区域,通过滚轮即可调整对应原色值,三原色交汇处显示的是最终合成的颜色。
    Java自制绘图软件_第14张图片

最佳布局

  • 点击设置界面-最佳布局,会弹出调整最佳布局的窗口:
    Java自制绘图软件_第15张图片
  • 拉伸并移动最佳布局窗口为最佳后关闭最佳布局窗口即可:
    Java自制绘图软件_第16张图片
  • 点击选项-设为最佳布局,即可将窗口移动到最佳布局位置并且大小为最佳布局大小。
    Java自制绘图软件_第17张图片

1.4 更多功能

  • 爱绘还有许多功能尚未展示,包括鼠标显示为绘笔、橡皮擦功能、图形插值功能、PS图片、帮助文档等。
  • 如果您想探索更多,请直接访问GitHub上的工程地址。

二、工程项目

2.1 项目层次

  • 爱绘的整体项目图如下所示:
    Java自制绘图软件_第18张图片
  • gui中包含了UI界面类,instrument中包含了许多功能类比如将屏幕上的内容输出到图片中的功能,resource中包含了许多项目资源图片比如画笔和橡皮擦的图片,software中包含了main函数。本项目实际未使用到mysql数据库。
  • gui中包含如下内:
    Java自制绘图软件_第19张图片
  • 其中dilogP代表调色板、选择图片文件等弹窗,drawTool代表绘制需要的工具如画笔或橡皮,elementp代表绘图的基本图片和可以插入的图形形状,panelp代表各个界面面板,windowp中包含了主界面类。
  • 阅读源码建议从windowp开始看起,主面板上组装了各种各样的面板组件。可以通过修改dilogP来修改弹窗面板组件,可以修改drawTool来支持更多的绘画操作工具,可以通过修改elementp来支持更多的图形操作,可以通过panelp来调整各个面板的内容。

2.2 项目源代码

  • GitHub上的项目地址如下,可以直接访问GitHub网站下载工程代码。
  • 附上GitHub工程地址,拿走时请给博主点个关注哦!
  • 爱绘项目GitHub网站地址

你可能感兴趣的:(Java,Java,绘图软件,PS,绘图,画画)