如何在verifone vx520中显示动画?

时间:2016-01-04 12:08:11

标签: point-of-sale verifone

我想在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);
}

1 个答案:

答案 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的文件。