簡體   English   中英

Java ESC/POS 圖像全幅打印

[英]Java ESC/POS Image full width Printing

我正在嘗試使用本博客中給出的 Esc/Pos 命令打印圖像。 它打印正常,但我想將圖像與中心對齊並適合紙張尺寸。 我打印這張圖片:

並輸出如下:

我的代碼與這篇博文相同,但我將getPixelsSlow(BufferedImage image)方法更改為這兩種方法,因為 Android 沒有BufferedImage類。

private int[][] getPixelsSlow(Bitmap image) {
  int width = image.getWidth();
  int height = image.getHeight();
  int[][] result = new int[height][width];
  for (int row = 0; row < height; row++) {
    for (int col = 0; col < width; col++) {
      result[row][col] = getRGB(image, col, row);
     }
   }

  return result;
}

private int getRGB(Bitmap bmpOriginal, int col, int row) {
   // get one pixel color
   int pixel = bmpOriginal.getPixel(col, row);
   // retrieve color of all channels
   int R = Color.red(pixel);
   int G = Color.green(pixel);
   int B = Color.blue(pixel);
   return Color.rgb(R, G, B);
}

如何以全寬打印圖像? 謝謝!

如果你在網上搜索,你會找到一個庫或方法,可以轉換圖像數據的垂直和水平尺寸,並根據要打印的紙張的最大寬度進行轉換。

但是,由於原始數據的大小小到 113 寬和 48 高,這些轉換會導致鋸齒狀和不美觀。

最好預先創建和使用與要打印的紙張寬度相匹配的圖像數據。

例如,如果您使用GIMP將寬度放大到512,高度放大到217作為JPEG,則會如下所示。
放大GIMP

或者如果用Windows Paint將其放大到相同大小,然后將其轉換為單色二進制格式的BMP,則如下所示。
放大單色油漆

如果您從一開始就通過指定寬度 512 來創建設計,那么與執行此類轉換相比,它會更美觀、更有效地用於營銷等。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM