1. 程式人生 > >ImageIO(圖像處理)

ImageIO(圖像處理)

需要 read bsp 輸出流 獲取 response replica param access

1.通過ImageIO的read和writer,對圖像文件進行處理。

BufferedImage buffImage = ImageIO.read(file);
// 將圖像輸出到Servlet輸出流中。
ImageIO.write(buffImage, "jpg", response.getOutputStream());

2. 使用byteArray保存request獲取的流數據

技術分享
 1 InputStream is = null;
 2         byte[] byteArray = null;
 3         ByteArrayOutputStream os = null
; 4 try{ 5 is = super.getRemoteReqStream(url); 6 byte[] temp = new byte[1024]; 7 os = new ByteArrayOutputStream(); 8 int iLength = 0; 9 while((iLength = is.read(temp, 0, 1024)) != -1){ 10 os.write(temp, 0, iLength);
11 } 12 is.close(); 13 byteArray = os.toByteArray();
ByteArrayOutputStream

3.FileUtils可對文件進行各種操作。

4.FileNameUtils可對文件名進行各種操作。

5. 通過Base64對image流文件轉化(這裏Base64使用的是Apache的Base64)

技術分享
 1     /**
 2      * 通過Base64對圖像數組進行轉化為字符串
 3      * @param byteArray
 4      * @return
5 */ 6 @SuppressWarnings("static-access") 7 public static String getImageStrByBase64(byte[] byteArray){ 8 String strImage = ""; 9 // 空值判斷 10 if(null == byteArray || byteArray.length == 0){ 11 return strImage; 12 } 13 Base64 base64 = new Base64(); 14 strImage = base64.encodeBase64String(byteArray); 15 return strImage; 16 } 17 18 19 /** 20 * 通過Base64對圖像數組進行轉化為字符串 21 * @param byteArray 22 * @return 23 */ 24 @SuppressWarnings("static-access") 25 public static byte[] getImageByteByBase64(String strImage){ 26 byte[] byteImg = null; 27 // 空值判斷 28 if(StringUtils.isEmpty(strImage)){ 29 return byteImg; 30 } 31 Base64 base64 = new Base64(); 32 byteImg = base64.decodeBase64(strImage); 33 return byteImg; 34 }
Base64

6.canvas

canvas.toDataURL("image/jpeg", 0.8); // (image/png)

7.<img>

1. 流形式:<img src="/image/srcInputStream" />

2. 文件路徑: <img src="/image/default.jpg" /> 當web運行報出找不到圖片但圖片確實存在時,因為Tomcat服務器的訪問權限設置,使得無法訪問本項目之外的文件。需要配置Server.xml

添加路徑 :

<Context crossContext="true" docBase="D:\app\hrcloud\elearning\file\video" path="/fileSource" reloadable="true">
</Context>

3. base64展示:

<img src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJ"/>

4. 因error方法在jquery3版本已經去掉,因此

$("img").attr("onerror", "this.src=‘***********************************‘");

9.對圖像的縮放:

技術分享
1 BufferedImage buffImage = ImageIO.read(new ByteArrayInputStream(byteImg));
2             int width = buffImage.getWidth();
3             int height = buffImage.getHeight();
4             int scaledH = (int)((float)height/(float)width*scaleWidth);
5             Image image = buffImage.getScaledInstance(scaleWidth, scaledH, buffImage.SCALE_REPLICATE);
6             BufferedImage bi = new BufferedImage(scaleWidth, scaledH, BufferedImage.TYPE_INT_RGB);
7             bi.getGraphics().drawImage(image, 0, 0, null);
8             ImageIO.write(bi, "jpg", file);
scaleImage

ImageIO(圖像處理)