far*_*hid 5 point-of-sale verifone
我正在尝试在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;
}
Run Code Online (Sandbox Code Playgroud)
我该如何做到这一点?
Dav*_*vid 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);
Run Code Online (Sandbox Code Playgroud)
使用128 x 64像素的徽标,结果如下: