我试图在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/