/*****************************************************************************\ image:Save(filename, format) \*****************************************************************************/ static int imluaImageSave (lua_State *L) { imImage *image = imlua_checkimage(L, 1); const char *file_name = luaL_checkstring(L, 2); const char *format = imlua_checkformat(L, 3); imlua_pusherror(L, imFileImageSave(file_name, format, image)); return 1; }
int write_file(const char* filename, const imImage* image) { const char* format = imImageGetAttribString(image, "FileFormat"); int error = imFileImageSave(filename, format, image); if (error) { show_file_error(error); return 0; } return 1; }
static int bt1_cb(Ihandle* self) { imImage* image; int w, h; void* gldata; int ii = tabs_get_index(); IupGetIntInt(plot[ii], "DRAWSIZE", &w, &h); gldata = malloc(w*h*3); image = imImageCreate(w, h, IM_RGB, IM_BYTE); IupMglPlotPaintTo(plot[ii], "RGB", w, h, 0, gldata); imConvertPacking(gldata, image->data[0], w, h, 3, 3, IM_BYTE, 1); imProcessFlip(image, image); imFileImageSave("../mglplot.png", "PNG", image); free(gldata); imImageDestroy(image); (void)self; return IUP_DEFAULT; }