From f1e8b762f19e92798ca890d83d36f33376541285 Mon Sep 17 00:00:00 2001 From: vCaesar Date: Sun, 30 Oct 2016 19:16:03 +0800 Subject: [PATCH] fix OpenBitmap & add Convert --- bitmap/goBitmap.h | 6 +++--- robotgo.go | 29 ++++++++++++++++++++++++++--- 2 files changed, 29 insertions(+), 6 deletions(-) diff --git a/bitmap/goBitmap.h b/bitmap/goBitmap.h index 9e3dad6..e8e2bed 100644 --- a/bitmap/goBitmap.h +++ b/bitmap/goBitmap.h @@ -37,13 +37,13 @@ MMPoint aFindBitmap(MMBitmapRef bit_map,MMRect rect){ return point; } -MMBitmapRef aOpenBitmap(char *path){ - MMImageType type; +MMBitmapRef aOpenBitmap(char *path ,uint16_t ttype){ + // MMImageType type; MMBitmapRef bitmap; MMIOError err; - bitmap = newMMBitmapFromFile(path, type, &err); + bitmap = newMMBitmapFromFile(path, ttype, &err); // printf("....%zd\n",bitmap->width); return bitmap; diff --git a/robotgo.go b/robotgo.go index 83eb513..733ffba 100644 --- a/robotgo.go +++ b/robotgo.go @@ -289,9 +289,16 @@ func FindBitmap(args ...interface{}) (C.size_t, C.size_t) { return pos.x, pos.y } -func OpenBitmap(gpath string) C.MMBitmapRef { - path := C.CString(gpath) - bit := C.aOpenBitmap(path) +func OpenBitmap(args ...interface{}) C.MMBitmapRef { + path := C.CString(args[0].(string)) + var mtype C.uint16_t + Try(func() { + mtype = C.uint16_t(args[1].(int)) + }, func(e interface{}) { + // Println("err:::", e) + mtype = 1 + }) + bit := C.aOpenBitmap(path, mtype) // Println("opening...", bit) return bit // defer C.free(unsafe.Pointer(path)) @@ -338,6 +345,22 @@ func GetPortion(bit C.MMBitmapRef, x, y, w, h C.size_t) C.MMBitmapRef { return pos } +func Convert(args ...interface{}) { + var mtype int + Try(func() { + mtype = args[2].(int) + }, func(e interface{}) { + Println("err:::", e) + mtype = 1 + }) + //C.CString() + opath := args[0].(string) + spath := args[1].(string) + bit_map := OpenBitmap(opath) + // Println("a----", bit_map) + SaveBitmap(bit_map, spath, mtype) +} + /* ------------ --- --- ------------ ---- ---- ------------ ************ *** *** ************ ***** **** ************