最近开发当中,通过JAVA对图片进行了很多的操作,之前很少接触这方面的知识,特此记录下来
读取图片
1 | Java复制代码//读取图片 通过JAVA自带的ImageIO里面的read方法 |
保存图片
1 | arduino复制代码/** |
绘制图片
1 | arduino复制代码/** |
缩放图片
1 | arduino复制代码/** |
缩放的使用实例代码:
1 | arduino复制代码 /** |
裁剪图片
1 | java复制代码/** |
裁剪图片实例代码:
1 | arduino复制代码 /** |
添加水印
1 | java复制代码水印的添加主要是通过下面的方法进行的添加。 |
文本水印
1 | arduino复制代码 /** |
图片水印
1 | java复制代码 /** |
如何擦除水印?
第一种方法 :
// 擦除某一区域(擦除后显示背景色)
void clearRect(int x, int y, int width, int height)
第二种方法:色素替代法
找到水印的颜色编码,然后用背景色颜色编码替代。
代码实现:略 (这种清除水印的需求还是交给PS这种专业软件去做吧)
贝塞尔曲线
通常绘制线段直接使用一下的方法就可以了drawLine方法就可以了。但是在实现曲线的时候就很难看,所以需要用到贝塞尔曲线。
可以通过Path类来实现贝塞尔曲线的效果
1 | ini复制代码BufferedImage image = new BufferedImage(500, 500, BufferedImage.TYPE_INT_RGB); |
总结
JAVA操作图片的话算是一个非常冷门的功能了,最多就是图片的缩放,裁剪,水印这三种情况。如果需要进行一些额外的操作的话,就非常需要认真的查阅下JDK的API,并且JAVA操作图片调试起来也非常的不方便。总的来说就是复杂的图片操作需求还是交给更专业的软件(PS)来进行操作吧!!!
JDK1.8在线API
本文转载自: 掘金