void CalaosCameraView::requestCompleted() { if (single_frame) { evas_object_image_memfile_set(camImage, &buffer[0], buffer.size(), NULL, NULL); Evas_Load_Error err = evas_object_image_load_error_get(camImage); if (err != EVAS_LOAD_ERROR_NONE) cErrorDom("camera") << "could not load image. error string is \"%s\"" << evas_load_error_str(err); } if (format_error) return; EcoreTimer::singleShot(0, [=]() { if (!single_frame) cWarningDom("camera") << "Restarting request to camera..."; play(); }); }
int main(void) { if(!ecore_evas_init()) return EXIT_FAILURE; Ecore_Evas *e_e; Evas *e_evas; Evas_Object *e_ret, *img_1, *img_clip, *cute_1, *cute_2, *cute_mini_1, *cute_mini_2, *cute_mini_clip_1, *cute_mini_clip_2; e_e = ecore_evas_new(NULL,0,0,1600,1000,NULL); if (!e_e) return EXIT_FAILURE; ecore_evas_show(e_e); e_evas = ecore_evas_get(e_e); if (!e_evas) return EXIT_FAILURE; e_ret = evas_object_rectangle_add(e_evas); if (!e_ret) return EXIT_FAILURE; evas_object_color_set(e_ret,0,155,255,255); evas_object_move(e_ret,0,0); evas_object_resize(e_ret,1600,1000); evas_object_show(e_ret); cute_1 = evas_object_image_add(e_evas); evas_object_image_file_set(cute_1,"/home/luciana/Public/Enlightenment/cute_cat.jpeg",NULL); evas_object_move(cute_1,0,0); evas_object_resize(cute_1,640,400); evas_object_image_fill_set(cute_1,0,0,640,400); evas_object_show(cute_1); cute_2 = evas_object_image_add(e_evas); evas_object_image_file_set(cute_2,"/home/luciana/Public/Enlightenment/cute_cat.jpeg",NULL); evas_object_move(cute_2,960,600); evas_object_resize(cute_2,640,400); evas_object_image_fill_set(cute_2,0,0,640,400); evas_object_show(cute_2); cute_mini_1 = evas_object_image_add(e_evas); evas_object_image_file_set(cute_mini_1,"/home/luciana/Public/Enlightenment/cute_cat.jpeg",NULL); evas_object_move(cute_mini_1,640,400); evas_object_resize(cute_mini_1,640,400); evas_object_image_fill_set(cute_mini_1,0,0,320,200); evas_object_resize(cute_mini_1,320,200); evas_object_show(cute_mini_1); cute_mini_2 = evas_object_image_add(e_evas); evas_object_image_file_set(cute_mini_2,"/home/luciana/Public/Enlightenment/cute_cat.jpeg",NULL); evas_object_move(cute_mini_2,640,400); evas_object_resize(cute_mini_2,640,400); evas_object_image_fill_set(cute_mini_2,0,0,320,200); evas_object_resize(cute_mini_2,320,200); evas_object_show(cute_mini_2); Evas_Load_Error err; if( (err = evas_object_image_load_error_get(img_1)) != EVAS_LOAD_ERROR_NONE) { fprintf(stderr, "error: %s\n", evas_load_error_str(err)); exit(EXIT_FAILURE); } /* cute_mini_alpha = evas_object_rectangle_add(e_evas); */ /* evas_object_color_set(cute_mini_alpha,255,255,255,155); */ /* evas_object_move(cute_mini_alpha,6400,400); */ /* evas_object_resize(cute_mini_alpha,320,200); */ /* evas_object_clip_set(cute_mini,cute_mini_alpha); */ /* evas_object_show(cute_mini_alpha); */ cute_mini_clip_1 = evas_object_rectangle_add(e_evas); evas_object_color_set(cute_mini_clip_1,255,255,255,255); evas_object_move(cute_mini_clip_1,640,400); evas_object_resize(cute_mini_clip_1,160,100); evas_object_clip_set(cute_mini_1,cute_mini_clip_1); evas_object_show(cute_mini_clip_1); cute_mini_clip_2 = evas_object_rectangle_add(e_evas); evas_object_color_set(cute_mini_clip_2,255,255,255,255); evas_object_move(cute_mini_clip_2,800,500); evas_object_resize(cute_mini_clip_2,160,100); evas_object_clip_set(cute_mini_2,cute_mini_clip_2); evas_object_show(cute_mini_clip_2); ecore_main_loop_begin(); ecore_evas_free(e_e); ecore_evas_shutdown(); return 0; }
static Eina_Bool _evas_image_file_header(Evas_Module *em, Image_Entry *ie, int *error) { Evas_Image_Load_Func *evas_image_load_func = NULL; Eina_Bool r = EINA_TRUE; if (!evas_module_load(em)) goto load_error; evas_image_load_func = em->functions; evas_module_use(em); *error = EVAS_LOAD_ERROR_NONE; if (evas_image_load_func) { Evas_Image_Property property; const char *file; if (!ie->f) { ie->f = eina_file_open(ie->file, EINA_FALSE); file = ie->file; } else { file = eina_file_filename_get(ie->f); } if (!ie->f) { *error = EVAS_LOAD_ERROR_DOES_NOT_EXIST; goto load_error; } ie->loader_data = evas_image_load_func->file_open(ie->f, ie->key, &ie->load_opts, &ie->animated, error); if (!ie->loader_data) { goto load_error; } memset(&property, 0, sizeof (Evas_Image_Property)); if (evas_image_load_func->file_head(ie->loader_data, &property, error) && (*error == EVAS_LOAD_ERROR_NONE)) { DBG("loaded file head using module '%s' (%p): %s", em->definition->name, em, file); ie->w = property.w; ie->h = property.h; ie->scale = property.scale; ie->flags.alpha = property.alpha; if (ie->load_opts.orientation && ie->load_opts.degree != 0) ie->flags.rotated = EINA_TRUE; r = EINA_FALSE; } else { evas_image_load_func->file_close(ie->loader_data); ie->loader_data = NULL; evas_module_unload(em); INF("failed to load file head using module '%s' (%p): " "%s (%s)", em->definition->name, em, file, evas_load_error_str(*error)); } } else { load_error: evas_module_unload(em); WRN("failed to load module '%s'.", em->definition->name); } return r; }
int main(int argc, char *argv[]) { Ecore_Evas *ee; Evas_Object *bridge, *img; const char *opt, *input, *output, *params; int r = 0, w = -1, h = -1, err; double scale = -1.0; if (argc < 4) { fprintf(stderr, "Usage:\n" "\t%s <percentage%%|WxH|w=W|h=H> <input> <output>" " [save-params]\n" "where save-params is evas supported parameters, like:\n" "\tquality=85\n" "\tcompress=9\n", argv[0]); return 1; } opt = argv[1]; input = argv[2]; output = argv[3]; params = argv[4]; if (strncasecmp(opt, "w=", 2) == 0) { char *end = NULL; w = strtol(opt + 2, &end, 10); if (!end || *end != '\0') { fprintf(stderr, "ERROR: invalid decimal integer '%s'\n", opt + 2); return 1; } else if (w < 1) { fprintf(stderr, "ERROR: invalid width %d, must be >= 1\n", w); return 1; } } else if (strncasecmp(opt, "h=", 2) == 0) { char *end = NULL; h = strtol(opt + 2, &end, 10); if (!end || *end != '\0') { fprintf(stderr, "ERROR: invalid decimal integer '%s'\n", opt + 2); return 1; } else if (h < 1) { fprintf(stderr, "ERROR: invalid height %d, must be >= 1\n", h); return 1; } } else if (strchr(opt, '%')) { char *end = NULL; scale = strtod(opt, &end); if (!end || *end != '%') { fprintf(stderr, "ERROR: invalid percentual '%s'\n", opt); return 1; } else if (scale <= 0.0) { fprintf(stderr, "ERROR: invalid percentual %g, must be > 0.0\n", scale); return 1; } scale /= 100.0; } else if (strchr(opt, 'x')) { if (sscanf(opt, "%dx%d", &w, &h) != 2) { fprintf(stderr, "ERROR: invalid size format '%s'\n", opt); return 1; } else if (w < 1) { fprintf(stderr, "ERROR: invalid width %d, must be >= 1\n", w); return 1; } else { fprintf(stderr, "ERROR: invalid height %d, must be >= 1\n", h); return 1; } } else { fprintf(stderr, "ERROR: first parameter must be in format:\n" "\tpercentage%% - example: 10%%\n" "\tWxH - example: 1024x768\n" "\tw=W - example: w=1024\n" "\th=H - example: h=768\n" "But '%s' was used!\n", opt); return 1; } ecore_evas_init(); evas_init(); ee = ecore_evas_buffer_new(1, 1); bridge = ecore_evas_object_image_new(ee); img = evas_object_image_add(ecore_evas_object_evas_get(bridge)); evas_object_image_smooth_scale_set(img, EINA_TRUE); if (w > 0 && h > 0) evas_object_image_load_size_set(img, w, h); evas_object_image_file_set(img, input, NULL); err = evas_object_image_load_error_get(img); if (err != EVAS_LOAD_ERROR_NONE) { const char *msg = evas_load_error_str(err); fprintf(stderr, "ERROR: could not load '%s': %s\n", input, msg); r = 1; goto end; } if (w < 1 || h < 1) { int iw, ih; evas_object_image_size_get(img, &iw, &ih); if (iw < 0 || ih < 0) { fprintf(stderr, "ERROR: invalid source image size %dx%d (%s)\n", iw, ih, input); goto end; } if (scale > 0) { w = ceil(iw * scale); h = ceil(ih * scale); } else if (w < 1) w = ceil(iw * (double)h / (double)ih); else if (h < 1) h = ceil(ih * (double)w / (double)iw); if (iw != w && ih != h) evas_object_image_load_size_set(img, w, h); } printf("output: %s, size: %dx%d, alpha: %s, params: %s\n", output, w, h, evas_object_image_alpha_get(img) ? "yes" : "no", params ? params : "<none>"); evas_object_image_fill_set(img, 0, 0, w, h); evas_object_resize(img, w, h); evas_object_show(img); evas_object_image_alpha_set(bridge, evas_object_image_alpha_get(img)); evas_object_image_size_set(bridge, w, h); ecore_evas_manual_render(ecore_evas_object_ecore_evas_get(bridge)); evas_object_image_save(bridge, output, NULL, params); end: evas_object_del(img); evas_object_del(bridge); ecore_evas_free(ee); evas_shutdown(); ecore_evas_shutdown(); return r; }