国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

香港云服务器
服務(wù)器之家 - 編程語言 - Java教程 - java 根據(jù)坐標(biāo)截取圖片實(shí)例代碼

java 根據(jù)坐標(biāo)截取圖片實(shí)例代碼

2020-09-03 10:46Java之家 Java教程

這篇文章主要介紹了java 根據(jù)坐標(biāo)截取圖片實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下

java 根據(jù)坐標(biāo)截取圖片

實(shí)例代碼:代碼中有不是注釋,很好看懂!

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
package com.json.test;
 
  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 OperateImage {
 
 
  // ===源圖片路徑名稱如:c:\1.jpg  
    private String srcpath ; 
        
    // ===剪切圖片存放路徑名稱.如:c:\2.jpg  
    private String subpath ; 
      
    // ===剪切點(diǎn)x坐標(biāo)  
    private  int x ; 
      
    private  int y ;   
       
    // ===剪切點(diǎn)寬度  
    private  int width ; 
      
    private  int height ; 
      
    public OperateImage() { 
          
    }   
    public OperateImage( int x, int y, int width, int height) { 
       this .x = x ; 
       this .y = y ; 
       this .width = width ;   
       this .height = height ; 
    }  
      
  /** 
    * 對圖片裁剪,并把裁剪完蛋新圖片保存 。
  */  
    public void cut()throws IOException {  
        
      FileInputStream is =  null
      ImageInputStream iis = null
      
      try {   
        // 讀取圖片文件  
        is =new FileInputStream(srcpath);  
          
        /* 
        * 返回包含所有當(dāng)前已注冊 ImageReader 的 Iterator,這些 ImageReader 
        * 聲稱能夠解碼指定格式。 參數(shù):formatName - 包含非正式格式名稱 .
        *(例如 "jpeg" 或 "tiff")等 。 
      */  
        Iterator < ImageReader > it=ImageIO.getImageReadersByFormatName("jpg");  
        ImageReader reader = it.next();  
        // 獲取圖片流  
        iis = ImageIO.createImageInputStream(is); 
           
        /* 
        * <p>iis:讀取源.true:只向前搜索 </p>.將它標(biāo)記為 ‘只向前搜索'。
        * 此設(shè)置意味著包含在輸入源中的圖像將只按順序讀取,可能允許 reader
        * 避免緩存包含與以前已經(jīng)讀取的圖像關(guān)聯(lián)的數(shù)據(jù)的那些輸入部分。
      */  
        reader.setInput(iis, true ) ; 
          
        /* 
        * <p>描述如何對流進(jìn)行解碼的類<p>.用于指定如何在輸入時從 Java Image I/O 
        * 框架的上下文中的流轉(zhuǎn)換一幅圖像或一組圖像。用于特定圖像格式的插件
        * 將從其 ImageReader 實(shí)現(xiàn)的 getDefaultReadParam 方法中返回 
        * ImageReadParam 的實(shí)例。 
      */  
        ImageReadParam param = reader.getDefaultReadParam();  
          
        /* 
        * 圖片裁剪區(qū)域。Rectangle 指定了坐標(biāo)空間中的一個區(qū)域,通過 Rectangle 對象
        * 的左上頂點(diǎn)的坐標(biāo)(x,y)、寬度和高度可以定義這個區(qū)域。 
      */  
        Rectangle rect =  new Rectangle(x, y, width, height);  
          
           
        // 提供一個 BufferedImage,將其用作解碼像素數(shù)據(jù)的目標(biāo)。  
        param.setSourceRegion(rect);  
 
        /* 
        * 使用所提供的 ImageReadParam 讀取通過索引 imageIndex 指定的對象,并將
        * 它作為一個完整的 BufferedImage 返回。
         */  
        BufferedImage bi=reader.read(0,param);         
       
        // 保存新圖片  
        ImageIO.write(bi,"jpg",new File(subpath));    
      } finally
        if (is != null
         is.close() ;     
        if (iis != null
         iis.close();  
      }  
        
        
      
    }  
 
    public  int getHeight() { 
      return height; 
    }  
 
    public  void setHeight( int height) { 
      this .height = height; 
    }  
 
    public String getSrcpath() { 
      return srcpath; 
    }  
 
    public  void setSrcpath(String srcpath) { 
      this .srcpath = srcpath; 
    }  
 
    public String getSubpath() { 
      return subpath; 
    }  
 
    public  void setSubpath(String subpath) { 
      this .subpath = subpath; 
    }  
 
    public  int getWidth() { 
      return width; 
    }  
 
    public  void setWidth( int width) { 
      this .width = width; 
    }  
 
    public  int getX() { 
      return x; 
    }  
 
    public  void setX( int x)  { 
      this .x = x; 
    }  
 
    public  int getY()  { 
      return y; 
    }  
 
    public  void setY( int y) { 
      this .y = y; 
    }  
  public static void main(String[] args) {
    OperateImage operateImage = new OperateImage(20, 20, 100, 100);
    operateImage.srcpath = "C:/test/1.jpg";
    operateImage.subpath = "C:/test/2.jpg";
    try {
      operateImage.cut();
    } catch (IOException e) {
      e.printStackTrace();
    }
     
  }
}

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

原文鏈接:http://blog.csdn.net/nooneyanghuijava/article/details/8147350

延伸 · 閱讀

精彩推薦
981
主站蜘蛛池模板: 日本在线网 | 亚洲精品视频一区二区三区 | 亚洲国产成人在线 | 三级黄色片在线观看 | 日韩操bb | 丁香五月网久久综合 | 亚洲一区在线日韩在线深爱 | 99久久免费精品国产男女性高好 | 日韩在线观看中文 | 国产综合网站 | 精品久久久网站 | 国产黄视频在线 | 久久久久久久一区 | 综合久久网 | 中文在线一区二区 | 午夜成年人 | 另类久久 | 久久久久久国产精品 | 日韩和的一区二在线 | 色花av| 国产精品欧美一区二区三区不卡 | 成人综合久久 | 国产精品久久久久永久免费观看 | 欧美精品一区三区 | 日韩精品一二三区 | 精品久久国产老人久久综合 | 国产一区二区三区在线观看免费 | 亚洲国产精品网站 | 国产精品久久久久久久久久久久久久久久 | 一区二区毛片 | 亚洲成人中文字幕 | 福利一区二区 | 亚洲国内精品 | 日韩中文字幕一区 | 国产一区二区av | 波多野结衣一区二区三区免费视频 | 精品综合 | 午夜国产视频 | 91精品国产乱码久久久久久 | 成年人免费观看网站 | 成人高清免费观看 |