欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java實現(xiàn)的圖片裁剪功能示例

 更新時間:2017年10月13日 10:09:28   作者:zhangzhinuo  
這篇文章主要介紹了java實現(xiàn)的圖片裁剪功能,涉及java針對圖片的讀取、轉換、保存等相關操作技巧,需要的朋友可以參考下

本文實例講述了java實現(xiàn)的圖片裁剪功能。分享給大家供大家參考,具體如下:

PicCut.java:

package Tsets;
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 PicCut {
  public void cut(int x,int y,int width,int height,String srcpath,String subpath) throws IOException {//裁剪方法
    FileInputStream is = null;
    ImageInputStream iis = null;
    try {
      is = new FileInputStream(srcpath); //讀取原始圖片
      Iterator<ImageReader> it = ImageIO.getImageReadersByFormatName("jpg"); //ImageReader聲稱能夠解碼指定格式
      ImageReader reader = it.next();
      iis = ImageIO.createImageInputStream(is); //獲取圖片流
      reader.setInput(iis, true); //將iis標記為true(只向前搜索)意味著包含在輸入源中的圖像將只按順序讀取
      ImageReadParam param = reader.getDefaultReadParam(); //指定如何在輸入時從 Java Image I/O框架的上下文中的流轉換一幅圖像或一組圖像
      Rectangle rect = new Rectangle(x, y, width, height); //定義空間中的一個區(qū)域
      param.setSourceRegion(rect); //提供一個 BufferedImage,將其用作解碼像素數(shù)據(jù)的目標。
      BufferedImage bi = reader.read(0, param); //讀取索引imageIndex指定的對象
      ImageIO.write(bi, "jpg", new File(subpath)); //保存新圖片
    } finally {
      if (is != null)
        is.close();
      if (iis != null)
        iis.close();
    }
  }
  public static void main(String[] args) throws Exception {
      PicCut pc = new PicCut();
    pc.cut(20, 20, 100, 100,"D:\\1.jpg","D:\\11.jpg");
    System.out.println("ok");
  }
}

PS:這里再為大家推薦幾款比較實用的圖片處理工具供大家參考使用:

在線圖片轉換BASE64工具:
http://tools.jb51.net/transcoding/img2base64

ICO圖標在線生成工具:
http://tools.jb51.net/aideddesign/ico_img

在線Email郵箱圖標制作工具:
http://tools.jb51.net/email/emaillogo

在線圖片格式轉換(jpg/bmp/gif/png)工具:
http://tools.jb51.net/aideddesign/picext

更多java相關內(nèi)容感興趣的讀者可查看本站專題:《Java圖片操作技巧匯總》、《java日期與時間操作技巧匯總》、《Java操作DOM節(jié)點技巧總結》、《Java文件與目錄操作技巧匯總》及《Java數(shù)據(jù)結構與算法教程》。

希望本文所述對大家java程序設計有所幫助。

相關文章

  • java泛型類的定義與使用詳解

    java泛型類的定義與使用詳解

    這篇文章主要為大家詳細介紹了java泛型類定義與使用的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • 淺談Java中的可變參數(shù)

    淺談Java中的可變參數(shù)

    下面小編就為大家?guī)硪黄獪\談Java中的可變參數(shù)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-10-10
  • SpringCloud Eureka的使用教程

    SpringCloud Eureka的使用教程

    這篇文章主要給大家介紹了關于SpringCloud Eureka使用的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-01-01
  • Spring Boot使用模板freemarker的示例代碼

    Spring Boot使用模板freemarker的示例代碼

    本篇文章主要介紹了Spring Boot使用模板freemarker的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • Spring?Boot開發(fā)時Java對象和Json對象之間的轉換

    Spring?Boot開發(fā)時Java對象和Json對象之間的轉換

    在Spring?Boot開發(fā)中,我們經(jīng)常需要處理Java對象和Json對象之間的轉換,本文將介紹如何在Spring?Boot項目中實現(xiàn)Java對象和Json對象之間的轉換,感興趣的朋友跟隨小編一起看看吧
    2023-09-09
  • Spring Cloud微服務架構的構建:分布式配置中心(加密解密功能)

    Spring Cloud微服務架構的構建:分布式配置中心(加密解密功能)

    這篇文章主要給大家介紹了關于Spring Cloud微服務架構的構建:分布式配置中心(加密解密)的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用具有一定的參考學習價值,需要的朋友可以參考下
    2018-05-05
  • Thread.sleep(0)的寫法原理深入解析

    Thread.sleep(0)的寫法原理深入解析

    這篇文章主要為大家介紹了Thread.sleep(0)的寫法原理深入解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-12-12
  • Java中后臺線程實例解析

    Java中后臺線程實例解析

    這篇文章主要介紹了Java中后臺線程實例解析,分享了相關代碼示例,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下
    2018-02-02
  • springboot配置mybatis和事務管理方式

    springboot配置mybatis和事務管理方式

    這篇文章主要介紹了springboot配置mybatis和事務管理方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • Java中消息隊列任務的平滑關閉詳解

    Java中消息隊列任務的平滑關閉詳解

    對于消息隊列的監(jiān)聽,我們一般使用Java寫一個獨立的程序,在Linux服務器上運行。程序啟動后,通過消息隊列客戶端接收消息,放入一個線程池進行異步處理,并發(fā)的快速處理。這篇文章主要給大家介紹了關于Java中消息隊列任務的平滑關閉的相關資料,需要的朋友可以參考下。
    2017-11-11

最新評論