- // check image size\r
- if ((opjimage->numcomps != 1) && (opjimage->numcomps != 3)) {\r
- wxMutexGuiEnter();\r
- wxLogError("JP2: weird number of components");\r
- wxMutexGuiLeave();\r
- opj_destroy_decompress(dinfo);\r
- opj_cio_close(cio);\r
- free(src);\r
- return false;\r
- }\r
-\r
- // prepare image size\r
- image->Create(opjimage->comps[0].w, opjimage->comps[0].h, true );\r
-\r
- // access image raw data\r
- image->SetMask( false );\r
- ptr = image->GetData();\r
-\r
- // RGB color picture\r
- if (opjimage->numcomps == 3) {\r
- int row, col;\r
- int *r = opjimage->comps[0].data;\r
- int *g = opjimage->comps[1].data;\r
- int *b = opjimage->comps[2].data;\r
- for (row = 0; row < opjimage->comps[0].h; row++) {\r
- for (col = 0; col < opjimage->comps[0].w; col++) {\r
- \r
- *(ptr++) = *(r++);\r
- *(ptr++) = *(g++);\r
- *(ptr++) = *(b++);\r
-\r
- }\r
- }\r
- }\r