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

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

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

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

3
import java.awt.Dimension;
3
import java.awt.Dimension;
4
import java.awt.Graphics2D;
4
import java.awt.Graphics2D;
5
import java.awt.Image;
5
import java.awt.Image;
6
import java.awt.Label;
7
import java.awt.MediaTracker;
8
import java.awt.Rectangle;
6
import java.awt.Rectangle;
9
import java.awt.Toolkit;
10
import java.awt.image.BufferedImage;
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
public class PictureRotating {
13
public class PictureRotating {
13
	public static BufferedImage Rotate(Image src, int angel) {  
14
	public static BufferedImage Rotate(Image src, int angel) {  
56
        return new Rectangle(new Dimension(des_width, des_height));  
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
}