ITPub博客

首页 > 应用开发 > Java > 将一图片同比例缩小绘制(转)

将一图片同比例缩小绘制(转)

原创 Java 作者:rainytag 时间:2007-06-30 21:56:49 0 删除 编辑
在获得客户端的一个图片后,发现传过来的图片太大,不宜在已经排版好的格式里面显示出来,特别是页面的图片特别多时,更不能都让大图片缩小显示。
一般遇到图片问题,有以下几种解决方案:

一、规定(自定义)图片大小
在该位置,图片是多大就显示多大,
这种情况简单易行,但图片易变形,图片太大,导致页面打开速度过慢

二、获得图片尺寸
也因图片过大,不宜在图片过多的也面中显示

下面介绍一种方法,可以读取大图片并生成一个小图片,以解决图片问题。


/*
* Created on 2004-10-11
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
package net.jspcn.test;

import java.io.File;
import java.io.FileOutputStream;
import java.awt.Image;
import java.awt.image.BufferedImage;

import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGImageEncoder;

public class JpgTest {

public void jpgTset() throws Exception{

File _file = new File("d:1.jpg"); //读入文件
Image src = javax.imageio.ImageIO.read(_file); //构造Image对象
int wideth=src.getWidth(null); //得到源图宽
int height=src.getHeight(null); //得到源图长
BufferedImage tag = new BufferedImage(wideth/2,height/2,BufferedImage.TYPE_INT_RGB);
tag.getGraphics().drawImage(src,0,0,wideth/2,height/2,null); //绘制缩小后的图
FileOutputStream out=new FileOutputStream("D: ewfile.jpg"); //输出到文件流
//File file = new File("D: ewFile.jpg");
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
//JPEGImageEncoder encoder = JPEGCodec.c
encoder.encode(tag); //近JPEG编码
out.close();
}
public static void main(String[] args){

try{
new JpgTest().jpgTset();
}catch(Exception e){

e.printStackTrace();
}
}
}



当然,在此基础上,你可以写一图片处理程序,批量的处理你的图片[@more@]

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/9650775/viewspace-922496/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-01-01

  • 博文量
    652
  • 访问量
    2207668