如何将Java缩略图进行图片剪裁处理?
- 内容介绍
- 文章标签
- 相关推荐
本文共计265个文字,预计阅读时间需要2分钟。
java// 读取原图BufferedImage src=ImageIO.read(new File(d:/a.jpg));int sw=src.getWidth();int sh=src.getHeight();
// 创建新的缩略图int w=100;int h=100;
// 如果宽度大于高度,按高度缩放if (sw > sh) { h=(int) ((double) h * (sh / (double) sw));}
// 如果高度大于宽度,按宽度缩放if (sh > sw) { w=(int) ((double) w * (sw / (double) sh));}
// 原图 BufferedImage src = ImageIO.read(new File("d:/a.jpg")); int sw = src.getWidth(); int sh = src.getHeight(); // 新的目标缩略图 //指定尺寸 int w = 100; int h = 100; //宽度固定,高度按比例 w = 300; h = (int)(sh * ((float)w/sw)); BufferedImage dst = new BufferedImage(w, h, 1); Graphics2D g = (Graphics2D) dst.getGraphics(); g.drawImage(src, 0, 0, w, h, null); ImageIO.write(dst, "jpg", new File("d:/a_s.jpg")); //裁剪 public static void crop(String[] args) throws IOException { // 原图 BufferedImage src = ImageIO.read(new File("d:/o.jpg")); int sw = src.getWidth(); int sh = src.getHeight(); //裁剪新图片 int w = 150; int h = 150; BufferedImage dst = new BufferedImage(w, h, 1); Graphics2D g = (Graphics2D) dst.getGraphics(); int x = 300; int y = 180; int xx = x+w; int yy = y+h; g.drawImage(src,0,0,w,h,x,y,xx,yy,null); ImageIO.write(dst, "jpg", new File("d:/ooo.jpg")); }
本文共计265个文字,预计阅读时间需要2分钟。
java// 读取原图BufferedImage src=ImageIO.read(new File(d:/a.jpg));int sw=src.getWidth();int sh=src.getHeight();
// 创建新的缩略图int w=100;int h=100;
// 如果宽度大于高度,按高度缩放if (sw > sh) { h=(int) ((double) h * (sh / (double) sw));}
// 如果高度大于宽度,按宽度缩放if (sh > sw) { w=(int) ((double) w * (sw / (double) sh));}
// 原图 BufferedImage src = ImageIO.read(new File("d:/a.jpg")); int sw = src.getWidth(); int sh = src.getHeight(); // 新的目标缩略图 //指定尺寸 int w = 100; int h = 100; //宽度固定,高度按比例 w = 300; h = (int)(sh * ((float)w/sw)); BufferedImage dst = new BufferedImage(w, h, 1); Graphics2D g = (Graphics2D) dst.getGraphics(); g.drawImage(src, 0, 0, w, h, null); ImageIO.write(dst, "jpg", new File("d:/a_s.jpg")); //裁剪 public static void crop(String[] args) throws IOException { // 原图 BufferedImage src = ImageIO.read(new File("d:/o.jpg")); int sw = src.getWidth(); int sh = src.getHeight(); //裁剪新图片 int w = 150; int h = 150; BufferedImage dst = new BufferedImage(w, h, 1); Graphics2D g = (Graphics2D) dst.getGraphics(); int x = 300; int y = 180; int xx = x+w; int yy = y+h; g.drawImage(src,0,0,w,h,x,y,xx,yy,null); ImageIO.write(dst, "jpg", new File("d:/ooo.jpg")); }

