码迷,mamicode.com
首页 > 其他好文 > 详细

制作缩略图

时间:2016-09-15 11:08:33      阅读:126      评论:0      收藏:0      [点我收藏+]

标签:

package com.huawei.utils;

import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

import javax.imageio.ImageIO;

/**
* @author Administrator
*
*/
public class ImageUtil {

//“相框”的宽高
private static final int WIDTH=300;
private static final int HEIGHT=200;

public static void preview(File src,File out,String format) throws Exception{
//将文件 映射到内存中
BufferedImage image = ImageIO.read(src);
//得到原始图片的宽高
int height = image.getHeight();
int width = image.getWidth();

//计算目标图片的宽高

int x = WIDTH;
int y = HEIGHT;

if(width*y>height*x){
y = height*x/width;
}
if(width*y<height*x){
x = width*y/height;
}

System.out.println(width);
System.out.println(height);
System.out.println(width*1.0/height);
System.out.println(x);
System.out.println(y);
System.out.println(x*1.0/y);
//是相框
BufferedImage new_Image = new BufferedImage(WIDTH, HEIGHT, BufferedImage.SCALE_SMOOTH);
//创建画笔
Graphics2D graphics2d = new_Image.createGraphics();
//设置白色
graphics2d.setColor(new Color(255, 255, 255));
//填充颜色
graphics2d.fillRect(0, 0, WIDTH, HEIGHT);
//得到缩放以后的图片
Image target = image.getScaledInstance(x, y, BufferedImage.SCALE_SMOOTH);

graphics2d.drawImage(target, (WIDTH-x)/2, (HEIGHT-y)/2, x, y, null);
ImageIO.write(new_Image, format, out);

}

public static void main(String[] args) throws Exception{
preview(new File("D:/bg.jpg"),new File("D:/bg1.jpg"),"jpg");
}

}

制作缩略图

标签:

原文地址:http://www.cnblogs.com/hwgok/p/5874442.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!