modgint: more complete fx_image example

This commit is contained in:
Lephenixnoir 2024-02-02 21:43:45 +01:00
parent b9a457680b
commit b1ec8bcde4
Signed by: Lephenixnoir
GPG Key ID: 1BBA026E13FC0495
2 changed files with 42 additions and 14 deletions

View File

@ -1,20 +1,42 @@
import gint
from gint import *
data = b'\xa0\x00\x00\x00\x50\x00\x00\x00\xa0\x00\x00\x00'
IMAGE_MONO = 0
img = gint.image(IMAGE_MONO, width=3, height=3, data=data)
img = image(IMAGE_MONO, width=3, height=3, data=b'\xa0\x00\x00\x00\x50\x00\x00\x00\xa0\x00\x00\x00')
print(img)
print(img.format)
print(img.width)
print(img.height)
print(img.format, img.width, img.height)
print(img.data)
segments = gint.image(IMAGE_MONO, 79, 12, b'|\x00||\x00|||||\x00\x00\xba\x02::\x82\xb8\xb8:\xba\xba\x00\x00\xc6\x06\x06\x06\xc6\xc0\xc0\x06\xc6\xc6\x00\x00\xc6\x06\x06\x06\xc6\xc0\xc0\x06\xc6\xc6\x00\x00\x82\x02\x02\x02\x82\x80\x80\x02\x82\x82\x00\x00\x00\x00|||||\x00||\x00\x00\x82\x02\xb8:::\xba\x02\xba:\x00\x00\xc6\x06\xc0\x06\x06\x06\xc6\x06\xc6\x06\x00\x00\xc6\x06\xc0\x06\x06\x06\xc6\x06\xc6\x06\x00\x00\xc6\x06\xc0\x06\x06\x06\xc6\x06\xc6\x06\x00\x00\xba\x02\xb8:\x02:\xba\x02\xba:\x00\x00|\x00||\x00||\x00||\x00\x00')
segments = image(IMAGE_MONO, 79, 12, bytearray(b'|\x00||\x00|||||\x00\x00\xba\x02::\x82\xb8\xb8:\xba\xba\x00\x00\xc6\x06\x06\x06\xc6\xc0\xc0\x06\xc6\xc6\x00\x00\xc6\x06\x06\x06\xc6\xc0\xc0\x06\xc6\xc6\x00\x00\x82\x02\x02\x02\x82\x80\x80\x02\x82\x82\x00\x00\x00\x00|||||\x00||\x00\x00\x82\x02\xb8:::\xba\x02\xba:\x00\x00\xc6\x06\xc0\x06\x06\x06\xc6\x06\xc6\x06\x00\x00\xc6\x06\xc0\x06\x06\x06\xc6\x06\xc6\x06\x00\x00\xc6\x06\xc0\x06\x06\x06\xc6\x06\xc6\x06\x00\x00\xba\x02\xb8:\x02:\xba\x02\xba:\x00\x00|\x00||\x00||\x00||\x00\x00'))
print(segments)
gint.dclear(gint.C_WHITE)
gint.dimage(10, 10, img)
gint.dimage(10, 20, segments)
gint.dupdate()
gint.getkey()
# ..xx x.. | ..xx x..
# .x.. .x. | .xxx xx.
# x..x ..x | xxxx xxx
# x.xx x.x | xxxx xxx
# x..x ..x | xxxx xxx
# .x.. .x. | .xxx xx.
# ..xx x.. | ..xx x..
alpha = image(IMAGE_MONO_ALPHA, 7, 7, b'\x38\x00\x00\x00\x38\x00\x00\x00\x7c\x00\x00\x00\x44\x00\x00\x00\xfe\x00\x00\x00\x92\x00\x00\x00\xfe\x00\x00\x00\xba\x00\x00\x00\xfe\x00\x00\x00\x92\x00\x00\x00\x7c\x00\x00\x00\x44\x00\x00\x00\x38\x00\x00\x00\x38\x00\x00\x00')
dclear(C_WHITE)
drect(63, 0, 127, 63, C_BLACK)
dimage(10, 5, img)
dimage(10, 15, segments)
def digit(x, y, num):
dsubimage(x, y, segments, 8*num, 0, 7, segments.height)
digit(15+0*8, 45, 4)
digit(15+1*8, 45, 2)
digit(15+2*8, 45, 7)
digit(15+3*8, 45, 3)
d = segments.data
for i in range(len(d) / 2):
d[i] = ~d[i]
dimage(10, 30, segments)
dimage(60, 5, alpha)
dupdate()
getkey()

View File

@ -321,7 +321,7 @@ STATIC mp_obj_t modgint_dsubimage(size_t n_args, const mp_obj_t *args)
mp_int_t left = mp_obj_get_int(args[3]);
mp_int_t top = mp_obj_get_int(args[4]);
mp_int_t width = mp_obj_get_int(args[5]);
mp_int_t height = mp_obj_get_int(args[5]);
mp_int_t height = mp_obj_get_int(args[6]);
bopti_image_t img;
objgintimage_get(args[2], &img);
@ -512,6 +512,12 @@ STATIC const mp_rom_map_elem_t modgint_module_globals_table[] = {
/* <gint/image.h> */
#ifdef FX9860G
INT(IMAGE_MONO),
INT(IMAGE_MONO_ALPHA),
INT(IMAGE_GRAY),
INT(IMAGE_GRAY_ALPHA),
#endif
#ifdef FXCG50
INT(IMAGE_RGB565),
INT(IMAGE_RGB565A),