Как установить и показать изображение на родном виджете tizen? - PullRequest
0 голосов
/ 09 апреля 2019

Я пытался установить изображение на родном виджете tizen, но я не знаю, как получить путь и применить его. Ниже моя попытка:

//image
                char full_path[PATH_MAX] = { 0, };
                data_get_resource_path("images/testimg.png", full_path, (int) PATH_MAX); //getting error here.



                    Evas_Object *image;
                    image = elm_image_add(wid->conform);

                    elm_object_item_data_set(image, full_path); //how to set path?

                    elm_image_no_scale_set(image, EINA_TRUE);
                    elm_image_resizable_set(image, EINA_TRUE, EINA_TRUE);
                    /* Tell the image to keep original aspect ratio */
                    elm_image_aspect_fixed_set(image, EINA_TRUE);
                    /* Then let the image fill the entire object */
                    elm_image_fill_outside_set(image, EINA_TRUE);

                    evas_object_show(image);

Пробовал из документа с изображения с сайта tizen dev, нет информации исключительно для установки пути.

Как добавить простое изображение и показать его?

1 Ответ

0 голосов
/ 22 апреля 2019

Вы можете использовать относительные пути к файлам и установить файлы изображений для объекта efl.

Существует множество примеров приложений. Например, BuddyUI Sample Application показать, как получить путь к файлу изображения

Файл изображения находится в res/images/wc_contact_bg.png.

#define IMAGE_CONTACT_BG "images/wc_contact_bg.png"

static bool app_create(void *user_data)
{
    Evas_Object *win = NULL;
    Eina_List *item_list = NULL;
    Evas_Object *main_view_layout = NULL;
    Evas_Object *naviframe = NULL;
    int item_count = 0;
    int i = 0;
    char default_img_path[PATH_MAX] = { 0, };
    char edj_path[PATH_MAX] = { 0, };

    data_get_resource_path(EDJ_FILE, edj_path, sizeof(edj_path));
    data_get_resource_path(IMAGE_CONTACT_BG, default_img_path, sizeof(default_img_path));

Абсолютный путь к каталогу ресурсов приложения можно получить по app_get_resource_path.

void data_get_resource_path(const char *file_in, char *file_path_out, int file_path_max)
{
    char *res_path = app_get_resource_path();
    if (res_path) {
        snprintf(file_path_out, file_path_max, "%s%s", res_path, file_in);
        free(res_path);
    }
}

Вы можете найти много информации по ссылке ниже.
Иерархия каталогов файловой системы

...