博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
#备注贴# 关于Java保真压缩的问题
阅读量:4703 次
发布时间:2019-06-10

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

 

最近做一个投票系统,要生成缩略图,一开始找了一段代码,速度还行,就是会失真,代码片段如下

File source = new File(storagePath + filename_source);File target = new File(storagePath + filename_target);FileInputStream fis = new FileInputStream(source);BufferedImage sourceImg = ImageIO.read(fis);fis.close();int imgWidth = sourceImg.getWidth();//获取原图高int imgHeight = sourceImg.getHeight();//获取原图宽int width = imageWidth * scale;//新的宽int height = imageHeight * scale;//新的高BufferedImage targetImg = new BufferedImage(width, height,                    BufferedImage.SCALE_SMOOTH);targetImg.createGraphics().drawImage(sourceImg, 0, 0, width,                    height, null);ImageIO.write(targetImg, ext, target);
View Code

后来继续在网上找,发现要用到JPEGImageEncoder和JPEGCodec。代码片段如下。

1 BufferedImage targetImg = new BufferedImage(width, height,2                     BufferedImage.TYPE_INT_RGB);3             targetImg.getGraphics().drawImage(sourceImg.getScaledInstance(width, height, Image.SCALE_SMOOTH), 0, 0, null);4 FileOutputStream os = new FileOutputStream(source);5 JPEGImageEncoder encoder=JPEGCodec.createJPEGEncoder(os);6 encoder.encode(targetImg);7 os.close();
View Code

在eclipse中提示找不到JPEGImageEncoder和JPEGCodec。就感觉很奇怪,为什么找不到???后来自己手动把头部加上去,就可以了

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

可能是eclipse对一些受限的方法自动屏蔽了。如果导入包路径后还报错的话,可以试试把eclipse对受限方法的警告等级从Error改为Warning。

解决办法:点击Window->Preferences->Java->Compiler->Errors/Warnings->Deprecated and restricted API->Forbidden reference(access rules) 修改成Warning 即可。

 

转载于:https://www.cnblogs.com/leeshunpeng/p/3316115.html

你可能感兴趣的文章
位图数据结构的操作
查看>>
azkaban用户管理及权限配置
查看>>
GCD学习笔记
查看>>
PHP......会话控制SESSION与COOKIE
查看>>
[转]AchartEngineActivity引擎绘制柱状图、曲线图
查看>>
[转]javascript实现限制上传文件的大小
查看>>
我的Java设计模式-策略模式
查看>>
C# 报表接口样例,简单实用
查看>>
C++常见内存错误及解决方案
查看>>
控制台应用程序窗口无法输入汉字解决办法
查看>>
Java中实现String.padLeft和String.padRight
查看>>
winCVS 使用的一个小要点
查看>>
一个关于session的问题
查看>>
加快开发时间的8个CSS的预处理程序
查看>>
dom元素高度、屏幕高度 获取
查看>>
asp.net 设置session失效时间
查看>>
杭电多校第四场 E Matrix from Arrays
查看>>
ReactiveCocoa操作方法-线程\时间
查看>>
oracle 分析函数
查看>>
CHD-5.3.6集群上sqoop安装
查看>>