我有一个方法
图标 getMoleculeIcon(分子 mol)
我想测试。这样做的正确方法是什么?我正在考虑检查返回是 Icon.class 还是比较 hashCodes 的东西。后者对我来说似乎更好,但我真的不确定。谢谢你的帮助。
如果您传递需要存储在一个文件或类中的 Icon 对应对象的分子 mol,您的结果必须是确定的。
图标是javax.swing 界面图标吗?
如果是这样,您必须确定返回的类型是否可以是 ImageIcon。
当你有一个 ImageIcon 你可以 getImage();
当您拥有 Image 对象时,您可以使用 PixelGrabber 类来使用它
另一个有趣的转换是使用 BufferedImage http://www.java.net/node/646586
现在,当您了解在 Java 中有太多的类可以使用图像时,并且您拥有两个图像的像素数组(由您的代码传递确定的参数生成,以及存储在您的类中或由文件加载的图像)传递特定参数的确定性结果)。
您已准备好比较图像。逐个像素或使用大脑密集型方法。
另一种解决方案是使用 Icon 界面创建对象并定义您的比较方法
http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/Comparable.html
还有其他有趣的建议:
https://stackoverflow.com/questions/6971966/how-to-measure-percentage-similarity-between-two-images
有人做了一些很棒的库
http://mindmeat.blogspot.it/2008/07/java-image-comparison.html
这是一项真正复杂的检查,但对某些产品来说确实很重要。我不知道您的情况是否如此,以及您是否有足够的时间来完成这项任务。
我希望有用。