- 界面组成:
- JFrame 窗体
- 按钮功能面板
- 按钮 -> 动作监听器 ->选择对应的处理滤镜
- 打开 保存 原图 马赛克 灰度 二值化 油画 模糊 浮雕 素描
- 绘图面板
- 绘图 -> 鼠标监听器 -> 画笔效果 P图
- 获取绘图面板的Graphics 用来绘制图片
- 按钮功能面板
- JFrame 窗体
- 监听器:
- 实现动作监听器
- 获取按钮上的字符串,用来判断比较使用那种滤镜算法来绘制图片
- 初始化Graphics
- 初始化图像滤镜类对象
- 实现动作监听器
- 图像滤镜类:
- 属性: 图片路径 、 图片的像素数组
- 构造方法: 初始化图片路径、初始化图片像素数组
- 加载图片文件为像素数组的方法
- 各种滤镜绘图方法
代码:
创建一个窗体
创建监听器:
滤镜效果代码依次封装到新的类中
原图
油画:要加上一个随机数,最后要画圆
马赛克:
圆点马赛克:
灰度:
二值化:
轮廓:与其旁边的像素点相比较,取两个像素的绝对值,如果大于30则画黑色,如果小于三十则画白色