-1

我有一个方法

图标 getMoleculeIcon(分子 mol)

我想测试。这样做的正确方法是什么?我正在考虑检查返回是 Icon.class 还是比较 hashCodes 的东西。后者对我来说似乎更好,但我真的不确定。谢谢你的帮助。

4

1 回答 1

2

如果您传递需要存储在一个文件或类中的 Icon 对应对象的分子 mol,您的结果必须是确定的。

图标是javax.swing 界面图标吗?

如果是这样,您必须确定返回的类型是否可以是 ImageIcon。

当你有一个 ImageIcon 你可以 getImage();

当您拥有 Image 对象时,您可以使用 PixelGrabber 类来使用它

http://www.java-tips.org/java-se-tips/java.awt.image/how-to-use-pixelgrabber-class-to-acquire-pixel-data-from-an-image-o。 html


另一个有趣的转换是使用 BufferedImage http://www.java.net/node/646586


现在,当您了解在 Java 中有太多的类可以使用图像时,并且您拥有两个图像的像素数组(由您的代码传递确定的参数生成,以及存储在您的类中或由文件加载的图像)传递特定参数的确定性结果)。

您已准备好比较图像。逐个像素或使用大脑密集型方法。


另一种解决方案是使用 Icon 界面创建对象并定义您的比较方法

http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/Comparable.html


还有其他有趣的建议:

使用 Java 的图像比较技术

https://stackoverflow.com/questions/6971966/how-to-measure-percentage-similarity-between-two-images

有人做了一些很棒的库

http://mindmeat.blogspot.it/2008/07/java-image-comparison.html


这是一项真正复杂的检查,但对某些产品来说确实很重要。我不知道您的情况是否如此,以及您是否有足够的时间来完成这项任务。

我希望有用。

于 2013-02-10T10:16:37.497 回答