展开全部
你有几个地方错了for (int y = 0; y
for (int x = 0; x
final int pixel = image.getRGB(x, y);
final int r = (pixel & 0xff0000) >> 16, g = (pixel & 0xff00) >> 8, b = pixel & 0xff;
final float gray = 0.299f * r + 0.578f * g + 0.114f * b;
final int index = Math.round(gray * (base.length() + 1) / 255);
System.out.println(index >= base.length() ? " " : String.valueOf(base.charAt(index)));
}
System.out.println();
}
改为:for (int y = 0; y
for (int x = 0; x
final int pixel = image.getRGB(x, y);
final int r = (pixel & 0xff0000) >> 16, g = (pixel & 0xff00) >> 8, b = pixel & 0xff;
final float gray = 0.299f * r + 0.578f * g + 0.114f * b;
final int index = Math.round(gray * (base.length() + 1) / 255);
System.out.print(index >= base.length() ? " " : String.valueOf(base.charAt(index)));
}
System.out.println();
}
注意第二行使用e69da5e6ba9062616964757a686964616f31333365663563image.getWidth(),第七行的println写成print,否则每个字符都会换行。