【发布时间】:2018-03-29 13:10:47
【问题描述】:
正如问题所说,我想使用它们的 rgb 值比较两种颜色,但我想忽略 alpha。 我没有得到那些位移和位操作符,所以你能告诉我有没有比下面的代码更优雅的方法来做到这一点?
boolean compareRGB(Color c1, Color c2) {
return c1.getRed() == c2.getRed() && c1.getGreen() == c2.getGreen() && c1.getBlue() == c2.getBlue();
}
【问题讨论】:
-
似乎您可能想查看使用
getColorComponents方法(docs.oracle.com/javase/7/docs/api/java/awt/…)但传入一个空数组或不同的数组。它可能通过数组比较稍微干净一些,但速度可能可以忽略不计。 -
所以我可以像
c1.getColorComponents(null).equals(c2.getColorComponents(null))那样做? -
有
getRGB,所以你可以一次比较R G和B
标签: java colors bit-manipulation rgb