如何在 Verifone VX 520 屏幕上显示位图图像

How to show bitmap image on Verifone VX 520 screen

我正在尝试在 Verifone VX 520 屏幕上显示位图图像。

我尝试使用 put_BMP() 函数,但它 returns -1 并且图像不显示。图像是单色的,128x128 像素。这是代码:

int main() {
  char bg[] = "background.bmp";
  int display = open(DEV_CONSOLE, O_WRONLY);
  put_BMP(bg);
  return 0;
}

我该如何完成?

这里有一些要检查的东西:

1) “[put_BMP()] 仅在 像素模式 下可用。”要将终端置于像素模式,请调用 set_display_coordinate_mode(PIXEL_MODE); 完成后不要忘记调用 set_display_coordinate_mode(CHARACTER_MODE); 将其放回原处。

2) "The file must be uncompressed."

3) "The file must be monochrome or 4-level gray."(我看你是这样做的)

4) "The file should be 128 pixels wide and either 64 pixels high (Vx510, 570, 610) or 128 pixels high (Vx 670)." 请注意,520 不在此列表中,但是 520 和 570 在许多方面非常相似,屏幕尺寸就是其中之一。如果您使用 128 像素高的图片,您将只能看到它的顶部 1/2。

5) 另外,不要忘记将文件复制到终端——我承认自己经常这样做。

以下代码:

set_display_coordinate_mode(PIXEL_MODE);
put_BMP("Whosebug.bmp");
set_display_coordinate_mode(CHARACTER_MODE);

使用 128 x 64 像素的徽标并产生: