
Java怎么实现上传图片的等比缩放,原文件和缩放的文件都要上传到服务器 50
Java怎么实现上传图片的等比缩放,原文件和缩放的文件都要上传到服务器,这个不太会,请教各位,最好有demo,或者代码,谢谢了...
Java怎么实现上传图片的等比缩放,原文件和缩放的文件都要上传到服务器,这个不太会,请教各位,最好有demo,或者代码,谢谢了
展开
7个回答
展开全部
/**
* 等比例缩放图片
* @param infile
* @param outfile
* @param width
* @param height
* @param quality
* @throws IOException
* @throws InterruptedException
*/
public static void Thumbnail(String infile, String outfile, int width, int height, int quality) throws IOException, InterruptedException {
// save thumbnail image to OUTFILE
//System.out.println("infile:" + infile);
BufferedImage thumbImage = null;
BufferedOutputStream out = null;
Image image = null;
image = Toolkit.getDefaultToolkit().createImage(infile);
MediaTracker mediaTracker = new MediaTracker(new Container());
mediaTracker.addImage(image, 0);
mediaTracker.waitForID(0);
int thumbWidth = width;
int thumbHeight = height;
double thumbRatio = (double) thumbWidth / (double) thumbHeight;
int imageWidth = image.getWidth(null);
int imageHeight = image.getHeight(null);
double imageRatio = (double) imageWidth / (double) imageHeight;
if (thumbRatio < imageRatio) {
thumbHeight = (int) (thumbWidth / imageRatio);
} else {
thumbWidth = (int) (thumbHeight * imageRatio);
}
thumbImage = new BufferedImage(thumbWidth, thumbHeight, BufferedImage.TYPE_INT_RGB);
Graphics2D graphics2D = thumbImage.createGraphics();
graphics2D.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);
graphics2D.drawImage(image,0,0, thumbWidth, thumbHeight, null);
out = new BufferedOutputStream(new FileOutputStream(outfile));
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(thumbImage);
quality = Math.max(0, Math.min(quality, 100));
param.setQuality((float) quality / 100.0f, false);
encoder.setJPEGEncodeParam(param);
encoder.encode(thumbImage);
out.close();
thumbImage = null;
out = null;
image = null;
}
原文转载自:http://blog.chinaunix.net/uid-29337460-id-5035058.html
展开全部
可以使用java中的image类,对图片进行转换。并输出成一张新的图片文件,保存下来即可。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个可以使用图像处理的ij.jar包
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先上传原图片,在调用一个缩略图方法,生成一个缩略图再上传到服务器就行了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
代码很多,几个类,技术用image scale就可以了,什么事image scale你在网上上搜一下源码就可以了,看看如何实现,这是目前比较常用的技术
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询