java裁剪图片_java实现图片的缩放和裁剪

该博客介绍了一个Java项目中对图片进行缩放和裁剪的操作。通过使用Java的图片API,首先对图片进行缩放,再进行裁剪。代码示例展示了如何创建ImageFilter、设置裁剪坐标,并使用Graphics进行绘制。
摘要由CSDN通过智能技术生成

最近要做一个web项目,里面涉及到对图片的缩放和裁剪。原理是这样的,首先先对图片进行缩放,然后,将缩放之后的图片进行裁剪,里面涉及到许多java图片api的应用,代码如下。

//参数分别对应了员图片的地址,目的图片的地址,裁剪的坐标和缩放的坐标

public  void abscut(final String srcImageFile,String savedImagePath, final int x, final int y, final int destWidth,

final int destHeight,final int finalWidth,final int finalHeight) {

Image img;

ImageFilter cropFilter;

// 读取源图像

BufferedImage bi;

try {

bi = ImageIO.read(new File(srcImageFile));

int srcWidth = bi.getWidth(); // 源图宽度

int srcHeight = bi.getHeight(); // 源图高度

System.out.println("srcWidth= " + srcWidth + "\tsrcHeight= "

+ srcHeight);

Image image = bi.getScaledInstance(finalWidth, finalHeight,Image.SCALE_DEFAULT);//获取缩放后的图片大小

cropFilter = new CropImageFilter(x, y, destWidth, destHeight);

img = Toolkit.getDefaultToolkit().createImage(

new FilteredImageSource(image.getSource(), cropFilter));

BufferedImage tag = new BufferedImage(destWidth, destHeight,

BufferedImage.TYPE_INT_RGB);

Graphics g = tag.getGraphics();

g.drawImage(img, 0, 0, null); // 绘制截取后的图

g.dispose();

ImageIO.write(tag, getExtention(srcImageFile), new File(savedImagePath));

// 输出为文件

//再次进行缩放

} catch (IOException e1) {

// TODO Auto-generated catch block

e1.printStackTrace();

}

}

/**

* 功能:提取文件名的后缀

*

* @param fileName

* @return

*/

private static  String getExtention(String fileName) {

int pos = fileName.lastIndexOf(".");

return fileName.substring(pos + 1);

}

阅读(4503) | 评论(0) | 转发(0) |

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值