Browse Source

修改byte[]转换成image的方法。

zzy.zhiyuan.foxmail 8 years ago
parent
commit
e123bcf1d9

+ 1 - 1
src/main/java/com/ekexiu/portal/service/ImageService.java

@ -326,7 +326,7 @@ public class ImageService {
326 326
			mi = this.zoomImage(bs, this.middleHeadPhotoWidth, this.middleHeadPhotoHeight);
327 327
			si = this.zoomImage(bs, this.smallHeadPhotoWidth, this.smallHeadPhotoHeight);
328 328
		}else{
329
			java.awt.Image image = PictureRotating.bytesToImage(bs);
329
			java.awt.Image image = PictureRotating.bytesToBufferedImage(bs);
330 330
			BufferedImage des = PictureRotating.Rotate(image, angle);
331 331
			ByteArrayOutputStream out = new ByteArrayOutputStream();
332 332
			@SuppressWarnings("unused")

+ 1 - 1
src/main/java/com/ekexiu/portal/service/ImagesService.java

@ -95,7 +95,7 @@ public class ImagesService {
95 95
			if(0 == angle){
96 96
				fos.write(bs);
97 97
			}else{
98
				java.awt.Image image = PictureRotating.bytesToImage(bs);
98
				java.awt.Image image = PictureRotating.bytesToBufferedImage(bs);
99 99
				BufferedImage des = PictureRotating.Rotate(image, angle);
100 100
				ByteArrayOutputStream out = new ByteArrayOutputStream();
101 101
				@SuppressWarnings("unused")

+ 25 - 13
src/main/java/com/ekexiu/portal/util/PictureRotating.java

@ -3,11 +3,12 @@ package com.ekexiu.portal.util;
3 3
import java.awt.Dimension;
4 4
import java.awt.Graphics2D;
5 5
import java.awt.Image;
6
import java.awt.Label;
7
import java.awt.MediaTracker;
8 6
import java.awt.Rectangle;
9
import java.awt.Toolkit;
10 7
import java.awt.image.BufferedImage;
8
import java.io.ByteArrayInputStream;
9
import java.io.IOException;
10

11
import javax.imageio.ImageIO;
11 12

12 13
public class PictureRotating {
13 14
	public static BufferedImage Rotate(Image src, int angel) {  
@ -56,15 +57,26 @@ public class PictureRotating {
56 57
        return new Rectangle(new Dimension(des_width, des_height));  
57 58
    }
58 59
    
59
    public static Image bytesToImage(byte[] bytes) {
60
    	Image image = Toolkit.getDefaultToolkit().createImage(bytes);
61
    	try {
62
    	MediaTracker mt = new MediaTracker(new Label());
63
    	mt.addImage(image, 0);
64
    	mt.waitForAll();
65
    	} catch (InterruptedException e) {
66
    	e.printStackTrace();
67
    	}
68
    	return image;
60
    public static BufferedImage bytesToBufferedImage(byte[] bytes) {
61
    	ByteArrayInputStream in = new ByteArrayInputStream(bytes);
62
    	BufferedImage image = null;
63
		try {
64
			image = ImageIO.read(in);
65
		} catch (IOException e) {
66
			e.printStackTrace();
67
		}
68
		return image;
69 69
    }
70
    
71
//	public static Image bytesToImage(byte[] bytes) {
72
//    	Image image = Toolkit.getDefaultToolkit().createImage(bytes);
73
//    	try {
74
//    	MediaTracker mt = new MediaTracker(new Label());
75
//    	mt.addImage(image, 0);
76
//    	mt.waitForAll();
77
//    	} catch (InterruptedException e) {
78
//    	e.printStackTrace();
79
//    	}
80
//    	return image;
81
//	}
70 82
}