bmp图像转单色图像
现在在做小票打印机的项目,遇到一个困难。小票打印机只支持单易做图mp图片的打印。现在问题将一张黑白bmp图片(256色的)转为单易做图mp图片。
希望大拿们能帮忙解决一下。万分感谢!!用java和C实现都行。 --------------------编程问答-------------------- 可以先读取这个图片,用BufferedImage包装,setRGB后然后再用ImageIO输出,应该可以的。 --------------------编程问答-------------------- 我这方面是小白,能不能说的详细点,最好有个实例代码,谢谢! --------------------编程问答-------------------- 还有简单的方式。
try {--------------------编程问答-------------------- tag.setRGB(5, 5, 123);删除,这个不需要 --------------------编程问答-------------------- 可以自己用灰度算法去计算,甚至可以调节灰度算法:Gray=R*0.3+G*0.59+B*0.11
BufferedImage src = ImageIO.read(new File("e:\\1.gif")); // 读入源图像
int width = src.getWidth(); // 源图宽
int height = src.getHeight(); // 源图高
Image image = src.getScaledInstance((int) (width), (int) (height),
Image.SCALE_DEFAULT);
BufferedImage tag = new BufferedImage((int) (width),
(int) (height), BufferedImage.TYPE_BYTE_GRAY);
Graphics2D g = tag.createGraphics();
g.drawImage(image, 0, 0, null);
g.dispose();
OutputStream out = new FileOutputStream("e:\\2.gif");
tag.setRGB(5, 5, 123);
ImageIO.write(tag, "GIF", out);
out.close();
} catch (IOException e) {
e.printStackTrace();
}
如果要更复杂的处理,推荐用这个开源包:http://www.jhlabs.com/ip/filters/
补充:Java , Java相关