阿尔梅勒 2021-09-30 15:00 采纳率: 25%
浏览 164
已结题

java将png或jpg图片转为单色BMP格式的图片。

img

最近需要做一个佳博标签打印机打印标签。
里面会出现图片。如何将这种图片转换成单色BMP图片。现在处理完全是黑色,不对。

img

代码如下:


     public static void image2RGB565Bmp(String filePath, String newFileName) {
        try {
            BufferedImage sourceImg = ImageIO.read(new File(filePath));
            int h = sourceImg.getHeight(), w = sourceImg.getWidth();
            int[] pixel = new int[w * h];
            PixelGrabber pixelGrabber = new PixelGrabber(sourceImg, 0, 0, w, h, pixel, 0, w);
            pixelGrabber.grabPixels();

            MemoryImageSource m = new MemoryImageSource(w, h, pixel, 0, w);
            Image image = Toolkit.getDefaultToolkit().createImage(m);
            // 单色为图
            BufferedImage buff = new BufferedImage(w, h, BufferedImage.TYPE_BYTE_BINARY);
            buff.createGraphics().drawImage(image, 0, 0 ,null);
            ImageIO.write(buff, "BMP", new File(saveFileName));
        } catch (InterruptedException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

还有一个问题。

// 将a图片下载到打印机缓存里,缓存名为VCC.BMP
TscLibDll.INSTANCE.downloadbmp("C:\\a.png", "VCC.BMP");
//打印VCC.BMP图片
TscLibDll.INSTANCE.sendcommand("PUTBMP 130,1000,\"VCC.BMP\"");

如何将VCC.BMP打印时旋转90度

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 10月8日
    • 创建了问题 9月30日

    悬赏问题

    • ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。
    • ¥30 c#打开word开启修订并实时显示批注
    • ¥15 如何解决ldsc的这条报错/index error
    • ¥15 VS2022+WDK驱动开发环境
    • ¥30 关于#java#的问题,请各位专家解答!
    • ¥30 vue+element根据数据循环生成多个table,如何实现最后一列 平均分合并
    • ¥20 pcf8563时钟芯片不启振
    • ¥20 pip2.40更新pip2.43时报错
    • ¥15 换yum源但仍然用不了httpd
    • ¥50 C# 使用DEVMOD设置打印机首选项