zoukankan      html  css  js  c++  java
  • 截图图片成 圆形 图片

    /*//截图成圆形
    		File localFile = new File("c:/a.jpg");
    		BufferedImage sourceImg = ImageIO.read(localFile);
    		BufferedImage newImage = new BufferedImage(toWidth, (int)height, originalImage.getType());
            Graphics g = newImage.getGraphics();
            g.drawImage(sourceImg, 0, 0, toWidth, (int)height, null);
            g.dispose();
            ByteArrayOutputStream bs = new ByteArrayOutputStream();         
            ImageOutputStream imOut = ImageIO.createImageOutputStream(bs); 
            ImageIO.write(newImage, "png", imOut); 
            */
    		BufferedImage bi1 = ImageIO.read(new File("d:/1.jpg"));
            
            // 根据需要是否使用 BufferedImage.TYPE_INT_ARGB
            BufferedImage image = new BufferedImage(bi1.getWidth(), bi1.getHeight(),
                    BufferedImage.TYPE_INT_ARGB);
      
            Ellipse2D.Double shape = new Ellipse2D.Double(0, 0, 110, 98);
            int x = 0, y = 0,srcH=bi1.getHeight(),srcW=bi1.getWidth(),w=110,h=98,srcw,srch;  
            x = srcW / 2 - w / 2;   
            y = srcH / 2 - h / 2;   
            srcw = srcW / 2 + w / 2;   
            srch = srcH / 2 + h / 2; 
            Graphics2D g2 = image.createGraphics();
            image = g2.getDeviceConfiguration().createCompatibleImage(110, 98, Transparency.TRANSLUCENT);
            g2 = image.createGraphics();
            g2.setComposite(AlphaComposite.Clear);
            g2.fill(new Rectangle(110,98));
            g2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC, 1.0f));
            g2.setClip(shape);
            // 使用 setRenderingHint 设置抗锯齿
            g2.drawImage(bi1, 0, 0,110,98,x,y,srcw,srch, null);
            g2.dispose();
             
            try {
                ImageIO.write(image, "PNG", new File("d:/2.png"));
            } catch (IOException e) {
                e.printStackTrace();
            }
    

      

    /*//截图成圆形File localFile = new File("c:/a.jpg");BufferedImage sourceImg = ImageIO.read(localFile);BufferedImage newImage = new BufferedImage(toWidth, (int)height, originalImage.getType());        Graphics g = newImage.getGraphics();        g.drawImage(sourceImg, 0, 0, toWidth, (int)height, null);        g.dispose();        ByteArrayOutputStream bs = new ByteArrayOutputStream();                 ImageOutputStream imOut = ImageIO.createImageOutputStream(bs);         ImageIO.write(newImage, "png", imOut);         */BufferedImage bi1 = ImageIO.read(new File("d:/1.jpg"));                // 根据需要是否使用 BufferedImage.TYPE_INT_ARGB        BufferedImage image = new BufferedImage(bi1.getWidth(), bi1.getHeight(),                BufferedImage.TYPE_INT_ARGB);          Ellipse2D.Double shape = new Ellipse2D.Double(0, 0, 110, 98);        int x = 0, y = 0,srcH=bi1.getHeight(),srcW=bi1.getWidth(),w=110,h=98,srcw,srch;          x = srcW / 2 - w / 2;           y = srcH / 2 - h / 2;           srcw = srcW / 2 + w / 2;           srch = srcH / 2 + h / 2;         Graphics2D g2 = image.createGraphics();        image = g2.getDeviceConfiguration().createCompatibleImage(110, 98, Transparency.TRANSLUCENT);        g2 = image.createGraphics();        g2.setComposite(AlphaComposite.Clear);        g2.fill(new Rectangle(110,98));        g2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC, 1.0f));        g2.setClip(shape);        // 使用 setRenderingHint 设置抗锯齿        g2.drawImage(bi1, 0, 0,110,98,x,y,srcw,srch, null);        g2.dispose();                 try {            ImageIO.write(image, "PNG", new File("d:/2.png"));        } catch (IOException e) {            e.printStackTrace();        }

  • 相关阅读:
    from __future__ import with_statement
    第六章 Flask数据库(二)
    python面向对象基础(四)内置方法 __xx__之new与init
    MySQL用户自定义变量
    iOS不得姐项目--appearance的妙用,再一次设置导航栏返回按钮,导航栏左右按钮的封装(巧用分类)
    iOS边练边学--NSURLSessionDataTask实现文件真正的断点续传
    iOS边练边学--AFNetWorking框架GET、Post、Download、Upload,数据解析模式以及监控联网状态
    iOS边练边学--NSURLSession、NSURLSessionTask的介绍与使用以及url中包含了中文的处理方法
    iOS开发小技巧--边接受数据边写入文件的两种方法
    iOS边练边学--文件压缩和解压缩的第三方框架SSZipArchive的简单使用
  • 原文地址:https://www.cnblogs.com/zhangchenglzhao/p/5168430.html
Copyright © 2011-2022 走看看