动作监听器:
ActionListener
1: 创建一个新的类 实现 ActionListener
2: 重写监听器的抽象方法
3: 在监听器方法中可以获取按钮中的文本
4: 根据按钮的文本来控制绘制什么特效图像
封装:
原则: 单一职责原则
一个类只做这个类该做的事情
一个方法就只做这个方法该做事情
一些细节实现的代码尽量使用方法进行封装
封装:打包
将细节实现的代码封装起来,只提供输入的参数与结果(返回值) 实现将所有与图片相关的操作代码都封装到一个图片工具类中定义成不同的方法
图片路径转二维数组的方法
若干图片滤镜方法 package
代码部分:
#1 完成页面的初始化(页面大小,按钮等的设置):
#2动作监听器部分的书写:
1)引入监听器部分 设置imgArr矩阵 imageTools在之后封装的时候会用
2)重写鼠标动作监听器的内容
#3编写ImageTools的方法,实现每个功能的封装执行
1)将原图的每个像素的RGB等信息存入矩阵中
2)方法1加载原图
3)方法2马赛克效果
4)方法3原点马赛克效果
5)方法4调节灰度值
6)方法5调节二值化
7)方法6反片效果
8)方法7怀旧(暖色调)效果
9)方法8油画效果(画随机大小圆的马赛克)
10)方法9轮廓化
*效果展示
原图:
马赛克:
原点马赛克:
灰度值:
二值化:
反片:
怀旧:
油画:
轮廓化: