我正在尝试在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;
}
我如何做到这一点?
答案 0 :(得分:12)
以下是要检查的内容:
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像素的徽标,结果为: