小编tam*_*ner的帖子

以最快最简单的方式扩展BufferedImage

任务: 我有一些图像,我缩小它们,并将它们连接到一个图像.但是我对实现有一点问题:

具体问题: 我想调整大小/缩放BufferedImage.getScaledInstance方法返回一个Image对象,但我无法将其强制转换为BufferedImage:

Exception in thread "main" java.lang.ClassCastException: sun.awt.image.ToolkitImage cannot be cast to java.awt.image.BufferedImage
Run Code Online (Sandbox Code Playgroud)

(我不知道为什么它是ToolkitImage而不是Image ...)

我找到了解决方案:

Image tmp = bi.getScaledInstance(SMALL_SIZE, SMALL_SIZE, BufferedImage.SCALE_FAST);
BufferedImage buffered = new BufferedImage(SMALL_SIZE,SMALL_SIZE,BufferedImage.TYPE_INT_RGB);
buffered.getGraphics().drawImage(tmp, 0, 0, null);
Run Code Online (Sandbox Code Playgroud)

但它很慢,我认为应该有更好的方法来做到这一点.

我需要BufferedImage,因为我必须让像素加入小图像.

有更好的(更好/更快)的方式吗?

编辑: 如果我首先将Image转换为ToolkitImage,它有一个getBufferedImage()方法.但它总是返回null.你知道为什么吗?

java image image-processing image-scaling

22
推荐指数
5
解决办法
4万
查看次数

Java计算密集型任务

我想比较一个Android设备和一个Linux虚拟机的计算性能.(我的硕士论文的一部分)测试必须使用某种输入(例如图像,或只是数字),并且必须也有一些输出.

例如,jar文件可以制作一些图像的全景图.或者也许是密码破解者.

另一个要求是,必须以编程方式启动测试.所以必须有可能,通过java方法调用启动全景制作或密码破解.

是否有开源项目或jar文件来进行此测试?

更新:链接的答案不是我搜索的:@linski有想法,没有实现.如果任务可能是"现实生活"情景会更好.例如,获取全景图,或破解密码.

UPDATE2:"测试必须使用某种输入(例如图像,或只是数字),并且必须也有一些输出." +"如果任务可能是"现实生活"情景会更好"

java testing processing performance android

-3
推荐指数
1
解决办法
1593
查看次数