我想在verifone vx520中显示动画。这是我的代码,但它没有在屏幕上显示任何内容。我应该如何将我的位图文件初始化为此函数?
我如何使用animationbmp
动画?
#define RGB2PIXEL565(r,g,b) \
((((r) & 0xf8) << 8) | (((g) & 0xfc) << 3) | (((b) & 0xf8) >> 3))
void animate(void) {
char animationbmp[]="move.bmp"
int con;
short * frameBuffer;
frameBuffer=(short*)malloc(8);
con = open (DEV_CONSOLE, 0);
frameBuffer[0]= RGB2PIXEL565 (0xFF, 0, 0 ); // red
frameBuffer[1]= RGB2PIXEL565 (0, 0xFF, 0 ); // green
frameBuffer[2]= RGB2PIXEL565 (0, 0, 0xFF); // blue
frameBuffer[3]= RGB2PIXEL565 (0xFF, 0, 0xFF); // purple
set_display_coordinate_mode (PIXEL_MODE);
display_frame_buffer(0,0,4,1,frameBuffer);
display_frame_buffer(1,2,2,2,frameBuffer);
display_frame_buffer(5,1,1,4,frameBuffer);
}
答案 0 :(得分:0)
我不确切知道Verifone Vx520是否可以显示动画文件,但显示动画的最简单方法是定期更改图片。以下是代码示例:
void animation(char *file1, char *file2, int x, int y){
set_display_coordinate_mode(PIXEL_MODE);
put_BMP_at(x,y, (char *)file1); //Draw image on a display starting from pos (x;y)
SVC_WAIT(some_pause_in_msec); //system function like "sleep"
put_BMP_at(x,y, (char *)file2); //Draw image on a display
SVC_WAIT(some_pause_in_msec);
set_display_coordinate_mode(CHARACTER_MODE); //Back to text display mode (optional)
}
关于如何使用图像文件(&#34; .BMP&#34;),您可以阅读here。 你的文件必须是黑白的&#34; .bmp&#34; Vx520的文件。