类似于:
public Color colorMoreTimesRepeated()
{
}
而且我不知道如何制作一个计算不同颜色的变量,并返回重复多次的变量。
想法是计算图像的所有颜色并给出重复多次的颜色,我尝试过使用* 2旅程,当重复任何颜色时,它开始计数,最后它返回一个更重复的。
*for(int i=0;i< high;i++){
for(int j=0;j<wide;j++){*
答案 0 :(得分:0)
根据您的问题,我了解您要识别填充给定图像中最大像素数的颜色。
如果我是对的,你可以使用以下方法!
private static Color getColorOccuringMaxTimesInImage(File imageFile) throws IOException
{
BufferedImage image = ImageIO.read(imageFile);
int width = image.getWidth();
int height = image.getHeight();
Map<Integer, Integer> colors = new HashMap<Integer, Integer>();
int maxCount = 0;
Integer maxColor = 0;
for (int x = 0; x < width; x++)
{
for (int y = 0; y < height; y++)
{
Integer color = image.getRGB(x, y);
Integer count = colors.get(color);
if (count == null)
count = 0;
Integer next = count + 1;
colors.put(color, next);
if (next > maxCount)
{
maxCount = next;
maxColor = color;
}
}
}
return new Color(maxColor.intValue());
}