The acquired image can be redrawn on the LCD with SetScreen.
Syntax
int GetScreen(
int x,
int y,
int width,
int height,
unsigned char *buffer
);
Parameters
- x
-
[in] Specifies the x-coordinate position of the left edge of the rectangle.
- y
-
[in] Specifies the y-coordinate position of the top edge of the rectangle.
- width
-
[in] [in] Specifies the horizontal width of the rectangle.
- height
-
[in] Specifies the vertical width of the rectangle.
- buffer
-
[out] Specifies the buffer to store the image.
Return value
Returns OK if the function succeeds, ERROR otherwise.
Remarks
The values that can be set are as follows.
1 dot data is 3 bytes, and the color data is arranged in order of red, green, and blue for each byte.
1-dot data is arranged in order horizontally from the origin. After the end of the horizontal data, continue to the leftmost data one dot below vertically. The origin of screen coordinates is the top left.
Please note that the origin of coordinates and the order of color data are different from Windows bitmap.
variable | lower limit | upper limit |
---|---|---|
x | 0 | DISP_WIDTH - 1 |
y | 0 | DISP_HEIGHT - 1 |
width | 1 | DISP_WIDTH - x |
height | 1 | DISP_HEIGHT-y |
Value | Description |
---|---|
DISP_WIDTH | 128 pixels |
DISP_HEIGHT | 160 pixels |
1-dot data is arranged in order horizontally from the origin. After the end of the horizontal data, continue to the leftmost data one dot below vertically. The origin of screen coordinates is the top left.
Please note that the origin of coordinates and the order of color data are different from Windows bitmap.
Requirements
Header file:
lib.hLibrary file:
libSTARTUPOPH5000.a
Sample
#include <stdio.h> #include <stdlib.h> #include "lib.h" void main(void) { int lvIndex; unsigned char *buffer = malloc(DISP_WIDTH * DISP_HEIGHT * 3); FillCircle(DISP_WIDTH/2, DISP_HEIGHT/2, DISP_WIDTH/4, RGB_BLUE); printf("[GetScreen]\n"); if (buffer == NULL){ printf("malloc error\n"); return; } GetScreen(0, 0, DISP_WIDTH, DISP_HEIGHT, buffer); ResetKey(); GotoXY(0, 0); printf("Press to clear\r\n"); while(!kbhit()){ Idle(); } ClearDisplay(); ResetKey(); GotoXY(0, 0); printf("Press to redraw\r\n"); while(!kbhit()){ Idle(); } SetScreen(0, 0, DISP_WIDTH, DISP_HEIGHT, buffer); free(buffer); while(1){ Idle(); } }
Last updated: 2023/01/16