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

我尝试使用put_BMP()函数,但返回-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)“文件必须为,未压缩的。”

3)“文件必须为单色或4级灰色。” (我看到你正在这样做)

4)“文件应为 128像素宽, 64像素高(Vx510、570、610)或128像素高(Vx 670)。请注意,520不在此列表中,但是520和570在许多方面都非常相似,并且屏幕尺寸是其中之一。如果您使用高为128像素的图片,则只会看到其顶部的1/2。

5)另外,别忘了将文件复制到终端 -我这样做的次数比我承认的要多。

如下代码:

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

使用128 x 64像素的徽标,结果是:

关于point-of-sale - 如何在Verifone VX 520屏幕上显示位图图像,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30685104/

10-13 02:11