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

java實(shí)現(xiàn)圖片裁切的工具類(lèi)實(shí)例

 更新時(shí)間:2015年11月03日 14:29:13   作者:5iasp  
這篇文章主要介紹了java實(shí)現(xiàn)圖片裁切的工具類(lèi)實(shí)例,涉及Java針對(duì)圖片的讀取、修改等相關(guān)操作技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下

本文實(shí)例講述了java實(shí)現(xiàn)圖片裁切的工具類(lèi)。分享給大家供大家參考,具體如下:

package com.yanek.util;
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 ImgCutUtil {
 /**
  * @param args
  */
 public static void main(String[] args) {
  ImgCutUtil.cut(30, 50, 300, 400, "d:/1.jpg", "d:/100.jpg");
 }
 /**
  * 圖片裁切
  * @param x1 選擇區(qū)域左上角的x坐標(biāo)
  * @param y1 選擇區(qū)域左上角的y坐標(biāo)
  * @param width 選擇區(qū)域的寬度
  * @param height 選擇區(qū)域的高度
  * @param sourcePath 源圖片路徑
  * @param descpath 裁切后圖片的保存路徑
  */
 public static void cut(int x1, int y1, int width, int height,
   String sourcePath, String descpath) {
  FileInputStream is = null;
  ImageInputStream iis = null;
  try {
   is = new FileInputStream(sourcePath);
   String fileSuffix = sourcePath.substring(sourcePath
     .lastIndexOf(".") + 1);
   Iterator<ImageReader> it = ImageIO
     .getImageReadersByFormatName(fileSuffix);
   ImageReader reader = it.next();
   iis = ImageIO.createImageInputStream(is);
   reader.setInput(iis, true);
   ImageReadParam param = reader.getDefaultReadParam();
   Rectangle rect = new Rectangle(x1, y1, width, height);
   param.setSourceRegion(rect);
   BufferedImage bi = reader.read(0, param);
   ImageIO.write(bi, fileSuffix, new File(descpath));
  } catch (Exception ex) {
   ex.printStackTrace();
  } finally {
   if (is != null) {
    try {
     is.close();
    } catch (IOException e) {
     e.printStackTrace();
    }
    is = null;
   }
   if (iis != null) {
    try {
     iis.close();
    } catch (IOException e) {
     e.printStackTrace();
    }
    iis = null;
   }
  }
 }
}

希望本文所述對(duì)大家Java程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • JavaSE中Lambda表達(dá)式的使用與變量捕獲

    JavaSE中Lambda表達(dá)式的使用與變量捕獲

    這篇文章主要介紹了JavaSE中Lambda表達(dá)式的使用與變量捕獲,Lambda表達(dá)式允許你通過(guò)表達(dá)式來(lái)代替功能接口, 就和方法一樣,它提供了一個(gè)正常的參數(shù)列表和一個(gè)使用這些參數(shù)的主體,下面我們來(lái)詳細(xì)看看,需要的朋友可以參考下
    2023-10-10
  • idea+ springboot熱部署的配置方法

    idea+ springboot熱部署的配置方法

    這篇文章主要介紹了idea+ springboot熱部署的配置方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-05-05
  • Java8新特性之Lambda表達(dá)式淺析

    Java8新特性之Lambda表達(dá)式淺析

    這篇文章主要介紹了Java8新特性之Lambda表達(dá)式,本文著重講解了Lambda表達(dá)式的語(yǔ)法部份,需要的朋友可以參考下
    2014-06-06
  • GSON實(shí)現(xiàn)Java對(duì)象的JSON序列化與反序列化的實(shí)例教程

    GSON實(shí)現(xiàn)Java對(duì)象的JSON序列化與反序列化的實(shí)例教程

    GSON是Google開(kāi)發(fā)并開(kāi)源的一個(gè)Java的JSON轉(zhuǎn)換庫(kù),這里我們將來(lái)講解GSON實(shí)現(xiàn)Java對(duì)象的JSON序列化與反序列化的實(shí)例教程,需要的朋友可以參考下
    2016-06-06
  • springboot之SpringApplication生命周期和事件機(jī)制解讀

    springboot之SpringApplication生命周期和事件機(jī)制解讀

    這篇文章主要介紹了springboot之SpringApplication生命周期和事件機(jī)制,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • SpringMVC基于阻塞隊(duì)列LinkedBlockingQueue的同步長(zhǎng)輪詢(xún)功能實(shí)現(xiàn)詳解

    SpringMVC基于阻塞隊(duì)列LinkedBlockingQueue的同步長(zhǎng)輪詢(xún)功能實(shí)現(xiàn)詳解

    這篇文章主要介紹了SpringMVC基于阻塞隊(duì)列LinkedBlockingQueue的同步長(zhǎng)輪詢(xún)功能實(shí)現(xiàn)詳解,本文介紹的也是生產(chǎn)者消費(fèi)者的一種實(shí)現(xiàn),生產(chǎn)者不必是一個(gè)始終在執(zhí)行的線程,它可以是一個(gè)接口,接受客戶端的請(qǐng)求,向隊(duì)列中插入消息,需要的朋友可以參考下
    2023-07-07
  • Flink ExecutionGraph生成源碼解析

    Flink ExecutionGraph生成源碼解析

    這篇文章主要為大家介紹了Flink ExecutionGraph生成源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-12-12
  • 基于Springboot疫苗接種行程管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

    基于Springboot疫苗接種行程管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

    本文主要介紹了基于Springboot實(shí)現(xiàn)的疫苗接種行程管理系統(tǒng)的示例代碼,系統(tǒng)主要實(shí)現(xiàn)個(gè)人疫苗接種管理、行程管理、病史管理、風(fēng)險(xiǎn)地區(qū)管理、核酸檢測(cè)報(bào)告結(jié)果上報(bào)、疫情新聞管理等功能,需要的可以參考一下
    2022-03-03
  • 一文解析Java中的方法重寫(xiě)

    一文解析Java中的方法重寫(xiě)

    子類(lèi)繼承父類(lèi)后,可以在子類(lèi)中書(shū)寫(xiě)一個(gè)與父類(lèi)同名同參的方法,從而實(shí)現(xiàn)對(duì)父類(lèi)中同名同參數(shù)的方法的覆蓋,我們把這一過(guò)程叫做方法的重寫(xiě)。本文將分析一下Java中的方法重寫(xiě),感興趣的可以了解一下
    2022-07-07
  • IDEA配置Maven的超詳細(xì)步驟

    IDEA配置Maven的超詳細(xì)步驟

    Maven是一個(gè)能使我們的java程序開(kāi)發(fā)節(jié)省時(shí)間和精力,是開(kāi)發(fā)變得相對(duì)簡(jiǎn)單,還能使開(kāi)發(fā)規(guī)范化的工具,下面這篇文章主要給大家介紹了關(guān)于IDEA配置Maven的超詳細(xì)步驟,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2022-08-08

最新評(píng)論