博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
创建图片缩略图
阅读量:7080 次
发布时间:2019-06-28

本文共 2062 字,大约阅读时间需要 6 分钟。

hot3.png

private void createThumbnail(String filename, int thumbWidth, int thumbHeight, int quality, String outFilename)         throws InterruptedException, FileNotFoundException, IOException     {         // load image from filename         Image image = Toolkit.getDefaultToolkit().getImage(filename);         MediaTracker mediaTracker = new MediaTracker(new Container());         mediaTracker.addImage(image, 0);         mediaTracker.waitForID(0);         // use this to test for errors at this point: System.out.println(mediaTracker.isErrorAny());               // determine thumbnail size from WIDTH and 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);         }               // draw original image to thumbnail image object and         // scale it to the new size on-the-fly         BufferedImage 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);               // save thumbnail image to outFilename         BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(outFilename));         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();     }

转载于:https://my.oschina.net/u/1047712/blog/177749

你可能感兴趣的文章
怎么在视频中截取音频作为手机铃声?
查看>>
在 Android 中使用 JNI 的总结
查看>>
Nginx之一:Nginx的编译安装
查看>>
CentOS光盘源YUM配置
查看>>
Shell脚本添加用户
查看>>
MySQL到CSV几种方法
查看>>
JDK:Integer.getChars(int i, int index, char[] buf
查看>>
zook 报错 Unable to read additional data from server sessionid 0x0
查看>>
很多企业网站为什么都将站点做成矩形的样子的呢
查看>>
在Javascript中 声明时用"var"与不用"var"的区别,== 和 ===的区别
查看>>
Vim + Gdb 程序的完美集合
查看>>
Ceph:一个 Linux PB 级分布式文件系统
查看>>
HA高可用特殊概念仲裁机制介绍
查看>>
《Java从小白到大牛》之第10章 面向对象基础(上)
查看>>
我的友情链接
查看>>
14. 复习_小练习
查看>>
Linux系统mongodb主从模式配置
查看>>
MongoDB导入导出以及数据库备份
查看>>
请问怎样把 Real Player11录制的ivr格式音频转化为其他格式呢?
查看>>
对象和类,日历
查看>>