imImage* read_file(const char* filename) { int error; imImage* image = imFileImageLoadBitmap(filename, 0, &error); if (error) show_file_error(error); return image; }
/*****************************************************************************\ im.FileImageLoadBitmap(filename, [index]) \*****************************************************************************/ static int imluaFileImageLoadBitmap (lua_State *L) { const char *filename = luaL_checkstring(L, 1); int index = luaL_optint(L, 2, 0); int error; imImage *image = imFileImageLoadBitmap(filename, index, &error); return imlua_pushimageerror(L, image, error); }
static void ShowImage(char* file_name, Ihandle* iup_dialog) { int error; imImage* image = (imImage*)IupGetAttribute(iup_dialog, "imImage"); if (image) imImageDestroy(image); IupSetAttribute(iup_dialog, "imImage", NULL); image = imFileImageLoadBitmap(file_name, 0, &error); if (error) PrintError(error); if (!image) return; IupSetAttribute(iup_dialog, "imImage", (char*)image); IupStoreAttribute(iup_dialog, "TITLE", file_name); cbCanvasRepaint(iup_dialog); /* we can do this because canvas inherit attributes from the dialog */ }
imImage* read_file(const char* filename) { int error; imImage* image = imFileImageLoadBitmap(filename, 0, &error); if (error) show_file_error(error); else { /* we are going to support only RGB images with no alpha */ imImageRemoveAlpha(image); if (image->color_space != IM_RGB) { imImage* new_image = imImageCreateBased(image, -1, -1, IM_RGB, -1); imConvertColorSpace(image, new_image); imImageDestroy(image); image = new_image; } /* create OpenGL compatible data */ imImageGetOpenGLData(image, NULL); } return image; }