總體思想
java 代碼
package com
import java
import java
import java
import java
import java
import java
import javax
import javax
import javax
import javax
/**
*
*
*
*/
public class OperateImage {
// ===源圖片路徑名稱如
private String srcpath ;
// ===剪切圖片存放路徑名稱
private String subpath ;
// ===剪切點x坐標
private int x ;
private int y ;
// ===剪切點寬度
private int width ;
private int height ;
public OperateImage() {
}
public OperateImage( int x
this
this
this
this
}
/**
* 對圖片裁剪
*/
public void cut() throws IOException {
FileInputStream is = null ;
ImageInputStream iis = null ;
try {
// 讀取圖片文件
is = new FileInputStream(srcpath)
/*
* 返回包含所有當前已注冊 ImageReader 的 Iterator
* 聲稱能夠解碼指定格式
*(例如
*/
Iterator < ImageReader > it = ImageIO
ImageReader reader = it
// 獲取圖片流
iis = ImageIO
/*
* <p>iis:讀取源
* 此設置意味著包含在輸入源中的圖像將只按順序讀取
* 避免緩存包含與以前已經讀取的圖像關聯的數據的那些輸入部分
*/
reader
/*
* <p>描述如何對流進行解碼的類<p>
* 框架的上下文中的流轉換一幅圖像或一組圖像
* 將從其 ImageReader 實現的 getDefaultReadParam 方法中返回
* ImageReadParam 的實例
*/
ImageReadParam param = reader
/*
* 圖片裁剪區域
* 的左上頂點的坐標(x
*/
Rectangle rect = new Rectangle(x
// 提供一個 BufferedImage
param
/*
* 使用所提供的 ImageReadParam 讀取通過索引 imageIndex 指定的對象
* 它作為一個完整的 BufferedImage 返回
*/
BufferedImage bi = reader
// 保存新圖片
ImageIO
} finally {
if (is != null )
is
if (iis != null )
iis
}
}
public int getHeight() {
return height;
}
public void setHeight( int height) {
this
}
public String getSrcpath() {
return srcpath;
}
public void setSrcpath(String srcpath) {
this
}
public String getSubpath() {
return subpath;
}
public void setSubpath(String subpath) {
this
}
public int getWidth() {
return width;
}
public void setWidth( int width) {
this
}
public int getX() {
return x;
}
public void setX( int x) {
this
}
public int getY() {
return y;
}
public void setY( int y) {
this
}
public static void main(String[] args) throws Exception {
String name =
OperateImage o = new OperateImage(
o
o
o
}
}
From:http://tw.wingwit.com/Article/program/Java/hx/201311/26771.html