截取点代码片断,你自己看着改
修改图片大小用getScaledInstance方法
BufferedImage bimg = nullImage img = null
int width, height
try {
bimg = ImageIO.read(u)
if(bimg.getWidth() > bimg.getHeight())
{
width = 40
height = bimg.getHeight() * width / bimg.getWidth()
}
else
{
height = 40
width = bimg.getWidth() * height / bimg.getHeight()
}
img = bimg.getScaledInstance(width, height, Image.SCALE_DEFAULT)
pre_image = bimg.getScaledInstance(width * 10, height * 10, Image.SCALE_DEFAULT)
} catch (IOException e) {
e.printStackTrace()
}
BufferedImage 把图片转换成二维数组, 然后把指定颜色,修改成你想要的颜色。
需要注意 背景色和其他颜色交叉的地方, 需要有一个容差的范围. 让指定的颜色在某个范围内
或者用算法处理边缘部分的颜色.
先把图片加载到一个bufferimage外边一个for循环图片的宽度,内嵌一个for图片高度的循环,在内嵌的循环中利用两个递增的值作为bufferimage.getRGB的两个参数,取到rgb值后就可以判断了,百度一下黑色和白色的rgb值,如果等于就替换值就好了。