服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

将一图片同比例缩小绘制


  在获得客户端的一个图片后,发现传过来的图片太大,不宜在已经排版好的格式里面显示出来,特别是页面的图片特别多时,更不能都让大图片缩小显示。
一般遇到图片问题,有以下几种解决方案:

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

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

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


/*
 * 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://newfile.jpg"); //输出到文件流 
//file file = new file("d://newfile.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(); 





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

扫描关注微信公众号