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

java 根据坐标截取图片实例代码

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

java 根据坐标截取图片实例代码

java 根据坐标截取图片

实例代码:代码中有不是注释,很好看懂!

package com.json.test; 
 
  import java.awt.Rectangle;  
  import java.awt.image.BufferedImage;  
  import java.io.File;  
  import java.io.FileInputStream;  
  import java.io.IOException;  
  import java.util.Iterator;  
 
  import javax.imageio.ImageIO;  
  import javax.imageio.ImageReadParam;  
  import javax.imageio.ImageReader;  
  import javax.imageio.stream.ImageInputStream; 
 
  public class OperateImage { 
 
 
  // ===源图片路径名称如:c:1.jpg   
    private String srcpath ;  
 
    // ===剪切图片存放路径名称.如:c:2.jpg   
    private String subpath ;  
      
    // ===剪切点x坐标   
    private  int x ;  
      
    private  int y ;    

    // ===剪切点宽度   
    private  int width ;  
      
    private  int height ;  
      
    public OperateImage() {  
   
    }    
    public OperateImage( int x, int y, int width, int height) {  
this .x = x ;  
this .y = y ;  
this .width = width ;    
this .height = height ;  
    }   
      
     
    public void cut()throws IOException {   
 
      FileInputStream is =  null ;  
      ImageInputStream iis = null ;  
      
      try {    
 // 读取图片文件   
 is =new FileInputStream(srcpath);   
   
    
 Iterator < ImageReader > it=ImageIO.getImageReadersByFormatName("jpg");   
 ImageReader reader = it.next();   
 // 获取图片流   
 iis = ImageIO.createImageInputStream(is);  
    
    
 reader.setInput(iis, true ) ;  
   
    
 ImageReadParam param = reader.getDefaultReadParam();   
   
    
 Rectangle rect =  new Rectangle(x, y, width, height);   
   
    
 // 提供一个 BufferedImage,将其用作解码像素数据的目标。   
 param.setSourceRegion(rect);   
 
    
 BufferedImage bi=reader.read(0,param);   

 // 保存新图片   
 ImageIO.write(bi,"jpg",new File(subpath));     
      } finally {  
 if (is != null )  
  is.close() ;      
 if (iis != null )  
  iis.close();   
      }   
 
 
      
    }   
 
    public  int getHeight() {  
      return height;  
    }   
 
    public  void setHeight( int height) {  
      this .height = height;  
    }   
 
    public String getSrcpath() {  
      return srcpath;  
    }   
 
    public  void setSrcpath(String srcpath) {  
      this .srcpath = srcpath;  
    }   
 
    public String getSubpath() {  
      return subpath;  
    }   
 
    public  void setSubpath(String subpath) {  
      this .subpath = subpath;  
    }   
 
    public  int getWidth() {  
      return width;  
    }   
 
    public  void setWidth( int width) {  
      this .width = width;  
    }   
 
    public  int getX() {  
      return x;  
    }   
 
    public  void setX( int x)  {  
      this .x = x;  
    }   
 
    public  int getY()  {  
      return y;  
    }   
 
    public  void setY( int y) {  
      this .y = y;  
    }   
  public static void main(String[] args) { 
    OperateImage operateImage = new OperateImage(20, 20, 100, 100); 
    operateImage.srcpath = "C:/test/1.jpg"; 
    operateImage.subpath = "C:/test/2.jpg"; 
    try { 
      operateImage.cut(); 
    } catch (IOException e) { 
      e.printStackTrace(); 
    } 
     
  } 
} 

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

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

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

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