欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

用java实现简单图像裁剪

程序员文章站 2022-03-24 19:36:16
...

java实现图像裁剪

  1. 读取图片,获取图片的宽、高。
String src = "F:\\yzm\\cc.jpg";
BufferedImage br = ImageIO.read(new File(src));
int sw = br.getWidth();
int sh = br.getHeight();
  1. 设置图片裁剪后的宽、高。
int dw = 300;
int dh = (int) (sh * (1.0 * dw / sw));
dh = 300;
  1. 设置裁剪后的图像的缓冲图像,并设置图像的平滑度。
BufferedImage dst = new BufferedImage(dw, dh, 1);
Graphics2D g = dst.createGraphics();
g.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_GASP);
g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g.setRenderingHint(RenderingHints.KEY_STROKE_CONTROL, RenderingHints.VALUE_STROKE_DEFAULT);
  1. 设置要裁剪图像的开始位置。
int x= 379;
int y =0;
  1. 绘制图像。
g.drawImage(br,0,0,dw,dh,x,y,x+dw,dh+y,null);
  1. 释放资源。
g.dispose();
  1. 最后,保存即可。
//获取原图片的名称
String n1 = src.substring(0, src.lastIndexOf("."));
//获取原图片的扩展名
String n2 = src.substring(src.lastIndexOf("."));
//获取裁剪后的图片名称
String nn = n1 + "_ok3" + n2;
//保存
ImageIO.write(dst, src.substring(src.lastIndexOf(".") + 1), new File(nn));