当前位置:首页 > 编程笔记 > 正文
已解决

图片叠加_图片压缩

来自网友在路上 166866提问 提问时间:2023-11-20 22:39:08阅读次数: 66

最佳答案 问答题库668位专家为你答疑解惑

图片叠加

try {/* 1 读取第一张图片*/File fileOne = new File("1.png");BufferedImage imageFirst = ImageIO.read(fileOne);/* 2读取第二张图片 */File fileTwo = new File("2.png");BufferedImage imageSecond = ImageIO.read(fileTwo);//创建一个最底层画布 高和宽为第一章图片的高和宽BufferedImage image = new BufferedImage(imageFirst.getWidth(),imageFirst.getHeight(),BufferedImage.TYPE_INT_ARGB);//通过底图创建画笔Graphics graphics = image.getGraphics();//在底图上画第一张图graphics.drawImage(imageFirst,0,0,null);//在底图上画第二张图  参数: 图片, x轴坐标, y轴坐标, null graphics.drawImage(imageSecond,0,0,null);//在图片上写文字graphics.drawString("i am a str", 10, 30);//输出图片File outFile = new File("out.png");ImageIO.write(image, "png", outFile);} catch (Exception e) {e.printStackTrace();}

图片叠加示例:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

图片压缩

    /*** 图片压缩** @param imgsrc     原图地址* @param imgdist    压缩后地址* @param widthdist  宽* @param heightdist 高*/public static void reduceImg(String imgsrc, String imgdist, int widthdist, int heightdist) {try {File srcfile = new File(imgsrc);if (!srcfile.exists()) {return;}Image src = javax.imageio.ImageIO.read(srcfile);BufferedImage tag = new BufferedImage((int) widthdist, (int) heightdist, BufferedImage.TYPE_INT_RGB);tag.getGraphics().drawImage(src.getScaledInstance(widthdist, heightdist, Image.SCALE_SMOOTH), 0, 0, null);
//            tag.getGraphics().drawImage(src.getScaledInstance(widthdist, heightdist, Image.SCALE_AREA_AVERAGING), 0, 0, null);FileOutputStream out = new FileOutputStream(imgdist);JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);encoder.encode(tag);out.close();} catch (IOException ex) {ex.printStackTrace();}}public static void main(String[] args) {reduceImg("out.png", "111.png", 300, 300);}

图片压缩示例
压缩前
在这里插入图片描述

压缩后
在这里插入图片描述

查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"图片叠加_图片压缩":http://eshow365.cn/6-40667-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!