34 MHDBGMSG(__FILE__,__LINE__,__PRETTY_FUNCTION__);
40 jmethodID mid =
GetEnv()->GetMethodID(
cls,
"<init>",
"()V");
43 jobject localRobot=
GetEnv()->NewObject(
cls, mid);
44 MHDBGMSG_P(__FILE__,__LINE__,
"localRobot:",localRobot);
48 GetEnv()->DeleteLocalRef(localRobot);
52 MHDBGMSG(__FILE__,__LINE__,__PRETTY_FUNCTION__);
60 MHDBGMSG(__FILE__,__LINE__,__PRETTY_FUNCTION__);
77 MHDBGMSG(__FILE__,__LINE__,__PRETTY_FUNCTION__);
84 MHDBGMSG(__FILE__,__LINE__,__PRETTY_FUNCTION__);
93 MHDBGMSG(__FILE__,__LINE__,__PRETTY_FUNCTION__);
100 MHDBGMSG(__FILE__,__LINE__,__PRETTY_FUNCTION__);
105 jmethodID factoryMID =
GetEnv()->GetStaticMethodID(
106 toolkitClass,
"getDefaultToolkit",
"()Ljava/awt/Toolkit;");
112 MHDBGMSG(__FILE__,__LINE__,__PRETTY_FUNCTION__);
114 jmethodID getScreenSizeMID =
GetEnv()->GetMethodID(
115 toolkitClass,
"getScreenSize",
"()Ljava/awt/Dimension;");
118 jobject dim =
GetEnv()->CallObjectMethod(toolkit, getScreenSizeMID);
121 jclass dimClass =
GetEnv()->GetObjectClass(dim);
124 jfieldID hFID =
GetEnv()->GetFieldID(dimClass,
"height",
"I");
128 jfieldID wFID =
GetEnv()->GetFieldID(dimClass,
"width",
"I");
132 MHDBGMSG(__FILE__,__LINE__,__PRETTY_FUNCTION__);
136 MHDBGMSG(__FILE__,__LINE__,__PRETTY_FUNCTION__);
138 MHDBGMSG(__FILE__,__LINE__,__PRETTY_FUNCTION__);
150 jmethodID mid =
GetEnv()->GetMethodID(rectCls,
"<init>",
"(Ljava/lang/Dimension;)V");
151 jobject result =
GetEnv()->NewObject(rectCls, mid, dim);
169 MHDBGMSG(__FILE__,__LINE__,__PRETTY_FUNCTION__);
171 int width=right-left+1;
172 int height=bottom-top+1;
174 IplImage *result = cvCreateImage(cvSize(width,height),IPL_DEPTH_8U,3);
176 MHDBGMSG_P(__FILE__,__LINE__,
"result:",result);
178 jobject rect =
CreateRect(left,top,width,height);
186 jintArray arr=(jintArray)
GetEnv()->CallObjectMethod(img,
getRGBArrMID, 0, 0, width, height,
187 nullptr, 0, width*
MULT);
191 jint *pixels =
GetEnv()->GetIntArrayElements(arr,
nullptr);
194 MHDBGMSG_P(__FILE__,__LINE__,
"pixels:",pixels);
197 for (
int x=left;x<=right;x++) {
198 for (
int y=top;y<=bottom;y++) {
200 int rgb=pixels[(y-top)*width*MULT+x-left];
206 GetEnv()->ReleaseIntArrayElements(arr, pixels, JNI_ABORT);
207 GetEnv()->DeleteLocalRef(arr);
208 GetEnv()->DeleteLocalRef(img);
209 GetEnv()->DeleteLocalRef(rect);
211 MHDBGMSG(__FILE__,__LINE__,__PRETTY_FUNCTION__);