栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JAVA操作图片/合成/电子盖章等

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JAVA操作图片/合成/电子盖章等

JAVA操作图片/合成/电子盖章等

 
    @ApiOperation(value = "图片合成", notes = "图片合成")
    @PostMapping(value = "phonto", consumes = "multipart/*", headers = "content-type=multipart/form-data")
    public String  upload(@RequestPart("file") MultipartFile mainFile, @RequestPart("file2") MultipartFile file1, @RequestParam("f") Float f, HttpServletResponse response) throws IOException, InterruptedException {
        String tempath = null;
        try {
           Image src1 = ImageIO.read(mainFile.getInputStream());
           Image src2 = ImageIO.read(file1.getInputStream());

            int widthPdf = src1.getWidth(null);
            int heighPdf = src1.getHeight(null);

            int widthYz = src2.getWidth(null);
            int heightYz = src2.getHeight(null);

            BufferedImage thumbImage = new BufferedImage(widthPdf, heighPdf, BufferedImage.TYPE_INT_RGB);
            Graphics2D g = thumbImage.createGraphics();
            //主图片大小以及位置
            g.drawImage(src1.getScaledInstance(widthPdf, heighPdf, Image.SCALE_SMOOTH), 0, 0, null);
            //设置透明度 最大为1
            g.setComposite( AlphaComposite.getInstance(AlphaComposite.SRC_OVER, f==0 ?0:f));
          //设置第二张图片的大小以及在第一张上面的位置坐标
            g.drawImage(src2.getScaledInstance(widthYz, heightYz, Image.SCALE_SMOOTH), 0, 0, null);


             tempath = "D:\temp\" + "0.jpg"; //合成图片
            String formatName = tempath.substring(tempath.lastIndexOf(".") + 1);
            ImageIO.write(thumbImage,  formatName , new File(tempath));
            log.info("tempath:::" + tempath);

            //浏览器直接打开图片文件
            String [] commands = {

                    "cmd.exe" , "/c", "start" , ""DummyTitle"", """ + tempath + """

            };

            Process p = Runtime.getRuntime().exec(commands);

            p.waitFor();


        } catch (IOException e) {
            e.printStackTrace();
        } finally {

        }
        return tempath;

    }

测试




实际效果:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/878465.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号