modgint: more complete fx_image example
This commit is contained in:
parent
b9a457680b
commit
b1ec8bcde4
|
@ -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()
|
||||
|
|
|
@ -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),
|
||||
|
|
Loading…
Reference in New Issue