<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    zhyiwww
    用平實的筆,記錄編程路上的點點滴滴………
    posts - 536,comments - 394,trackbacks - 0
    (zhyiwww@163.com? 轉載請注明出處 作者:zhyiwww )
    最近,有兩個朋友在問我關于圖片裁剪的問題,不過以前的代碼找不到了,所以,就把完整的例子又整理了一下。可以實現在一個完整的圖片上,根據需要,定位想要截取的圖片的左上角的坐標和圖片的大小,就可以取得該圖片。
    完整的實現代碼如下:
    package org.zy.app;

    import java.io.File;
    import java.io.InputStream;
    import java.io.IOException;
    import java.util.Iterator;
    import java.awt.Rectangle;
    import java.awt.image.BufferedImage;
    import javax.imageio.ImageReader;
    import javax.imageio.ImageReadParam;
    import javax.imageio.ImageIO;
    import javax.imageio.stream.ImageInputStream;

    /**
    ?* @author zhangyi
    ?* date : 2007-10-18
    ?*/
    public class SplitImage {

    ??? /**
    ??? ?* ????????? ?? ImageReader
    ??? ?*
    ??? ?* @param imgPath
    ??? ?* @throws IOException
    ??? ?*/

    ??? public void readImage() throws IOException {
    ??? ??? // get JPEG image reader iterator
    ??? ??? Iterator readers = ImageIO.getImageReadersByFormatName("jpg");
    ??? ??? System.out.println(readers);
    ??? ???
    ??? ??? // get image reader
    ??? ??? ImageReader reader = (ImageReader) readers.next();
    ??? ??? System.out.println(reader);

    ??? ??? // get original image input stream
    ??? ??? InputStream source = this.getClass().getResourceAsStream("img01.jpg");
    ??? ??? System.out.println("image input source is : " + source);
    ??? ???
    ??? ??? // get ImageInputStream of the image to split
    ??? ??? ImageInputStream iis = ImageIO.createImageInputStream(source);
    ??? ??? reader.setInput(iis, true);
    ??? ???
    ??? ??? // the image param
    ??? ??? ImageReadParam param = reader.getDefaultReadParam();
    ??? ??? int imageIndex = 0;
    //??? ???
    //??? ??? int half_width = reader.getWidth(imageIndex) / 2;
    //??? ??? int half_height = reader.getHeight(imageIndex) / 2;

    ??? ??? // the coordinate and the size on the image that you want to split on
    ??? ??? Rectangle rect = new Rectangle(300, 490, 200, 100);
    ??? ??? param.setSourceRegion(rect);
    ??? ???
    ??? ??? BufferedImage bi = reader.read(0, param);
    ??? ???
    ??? ??? // write the split picture
    ??? ??? ImageIO.write(bi, "jpg", this.initDestFile());
    ??? }

    ??? public File initDestFile() throws IOException {
    ??? ??? File f = new File("c:\\img02.jpg");

    ??? ??? if (f.exists()) {
    ??? ??? ??? f.delete();
    ??? ??? }
    ??? ??? f.createNewFile();
    ??? ??? return f;
    ??? }

    ??? public static void main(String[] args) {
    ??? ??? SplitImage si = new SplitImage();
    ??? ??? try {
    ??? ??? ??? si.readImage();
    ??? ??? } catch (IOException e) {
    ??? ??? ??? System.out.println("exception");
    ??? ??? }
    ??? }
    }

    代碼下載SplitImage
    這只是一個簡單的實現。當然,也可以在servlet端來實現此功能。


    |----------------------------------------------------------------------------------------|
                               版權聲明  版權所有 @zhyiwww
                引用請注明來源 http://m.tkk7.com/zhyiwww   
    |----------------------------------------------------------------------------------------|
    posted on 2007-10-18 17:54 zhyiwww 閱讀(1369) 評論(4)  編輯  收藏 所屬分類: java basic

    FeedBack:
    # re: 回復兩個朋友的圖片裁剪問題
    2007-10-22 17:17 | 趙軍華
    兄弟 謝謝了啊   回復  更多評論
      
    # re: 回復兩個朋友的圖片裁剪問題
    2007-12-29 15:49 | 七寶
    可以用鼠標選擇裁剪嗎?  回復  更多評論
      
    # re: 回復兩個朋友的圖片裁剪問題
    2007-12-29 15:52 | qibao
    我要做一個類似QQ截圖,但是是在頁面完成截取圖片的。
    大哥能給些思路嗎?
    謝謝了~!  回復  更多評論
      
    # re: 回復兩個朋友的圖片裁剪問題
    2008-08-20 14:26 | 付安平
    @qibao
    好像是用js做前臺,取得他的長寬已經坐標點
    在后臺用java操作  回復  更多評論
      
    主站蜘蛛池模板: 222www在线观看免费| 男女一边摸一边做爽的免费视频| 四虎影视成人永久免费观看视频 | 一级毛片直播亚洲| 亚洲国产精品美女久久久久| 在线免费观看一级毛片| 亚洲人成自拍网站在线观看| 在线免费观看毛片网站| 色屁屁在线观看视频免费| 亚洲国产成人乱码精品女人久久久不卡| 日韩免费在线中文字幕| 黑人大战亚洲人精品一区 | 中文字幕乱码亚洲无线三区| 国产精品免费视频播放器| 国产亚洲视频在线观看网址| 亚洲国产成人久久一区WWW| GOGOGO免费观看国语| 国产亚洲精品a在线观看app| 精品国产sm捆绑最大网免费站| 色偷偷女男人的天堂亚洲网 | 综合久久久久久中文字幕亚洲国产国产综合一区首 | 嫩草影院免费观看| 羞羞的视频在线免费观看| 狠狠亚洲狠狠欧洲2019| 老司机69精品成免费视频| 亚洲最大免费视频网| 精品久久久久久久免费加勒比| 特级做a爰片毛片免费看| 亚洲国产精彩中文乱码AV| 免费99精品国产自在现线| 国产亚洲精彩视频| 亚洲无线码一区二区三区| 五月亭亭免费高清在线| 成人婷婷网色偷偷亚洲男人的天堂| 亚洲精品网站在线观看不卡无广告 | 三级黄色片免费看| 亚洲已满18点击进入在线观看| 亚洲美女在线国产| 日本免费网址大全在线观看| 国产亚洲漂亮白嫩美女在线| 亚洲国产综合91精品麻豆|