3

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

1 回答 1

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)
}

关于如何使用图像文件(“.BMP”),您可以在此处阅读。对于 Vx520,您的文件必须是黑白“.bmp”文件。

于 2017-07-05T16:00:57.140 回答