<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://www.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操作  回復  更多評論
      
    主站蜘蛛池模板: 亚洲日韩av无码| 中文字幕精品亚洲无线码一区应用| 亚洲国产精品无码专区影院| 一级毛片免费播放视频| 夜色阁亚洲一区二区三区| 男女猛烈无遮掩视频免费软件| 国产片免费在线观看| 精品国产日韩亚洲一区在线| 四虎影视在线永久免费看黄| 欧亚一级毛片免费看| 国产综合亚洲专区在线| 久久精品成人免费网站| 久久久婷婷五月亚洲97号色 | 亚洲人成777在线播放| 欧美最猛性xxxxx免费| 亚洲欧美日韩中文无线码| 国产免费131美女视频| 一级特黄录像免费播放肥| 亚洲AV午夜成人片| 免费阿v网站在线观看g| 亚洲AV成人精品一区二区三区| 免费一级e一片在线播放| 国产99久久久国产精免费 | 50岁老女人的毛片免费观看| 久久精品亚洲AV久久久无码| 国产麻豆剧传媒精品国产免费| 一区二区三区免费精品视频| 久久噜噜噜久久亚洲va久| 最新欧洲大片免费在线 | 在线亚洲v日韩v| 亚洲精品成人片在线观看精品字幕| 99久久综合精品免费| 亚洲欧美自偷自拍另类视| 亚洲午夜无码片在线观看影院猛| 日本免费中文视频| 最新亚洲人成无码网站| 久久综合九九亚洲一区| 国产高清免费观看| 免费人成视频在线观看网站| 亚洲av无码av在线播放| 久久青青草原亚洲av无码app |