diff options
Diffstat (limited to 'appl/grid/jpg2bit.b')
| -rw-r--r-- | appl/grid/jpg2bit.b | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/appl/grid/jpg2bit.b b/appl/grid/jpg2bit.b new file mode 100644 index 00000000..9c452edd --- /dev/null +++ b/appl/grid/jpg2bit.b @@ -0,0 +1,47 @@ +implement jpg2bit; + +include "sys.m"; + sys : Sys; + +include "draw.m"; + draw: Draw; + Context, Display, Point, Rect, Image, Screen, Font: import draw; + +include "grid/readjpg.m"; + readjpg: Readjpg; + +display : ref draw->Display; +screen : ref draw->Screen; +context : ref draw->Context; + +jpg2bit : module { + init : fn (ctxt : ref Draw->Context, argv : list of string); +}; + +init(ctxt : ref Draw->Context, argv : list of string) +{ + display = ctxt.display; + screen = ctxt.screen; + context = ctxt; + + sys = load Sys Sys->PATH; + readjpg = load Readjpg Readjpg->PATH; + readjpg->init(display); + + draw = load Draw Draw->PATH; + argv = tl argv; + if (argv == nil) exit; + filename := hd argv; + filename2 : string; + if (tl argv == nil) { + if (len filename > 3) filename2 = filename[:len filename - 4]; + filename2 += ".bit"; + } + else filename2 = hd tl argv; + img := readjpg->jpg2img(hd argv, "", chan of string, nil); + fd := sys->create(filename2, sys->OWRITE,8r666); + if (fd != nil) + display.writeimage(fd,img); + +} + |
