我试图在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网站的图像文档中尝试,没有专门用于路径设置的信息。
如何添加一个简单的图像并显示它?
答案 0 :(得分:0)
您可以使用相对文件路径并将图像文件设置为efl对象。
有许多示例应用程序。例如,- (void)popoverWillShowInWindow:(SFSafariWindow *)window {
[window getActiveTabWithCompletionHandler:^(SFSafariTab *activeTab) {
[activeTab getActivePageWithCompletionHandler:^(SFSafariPage *page) {
[page getPagePropertiesWithCompletionHandler:^(SFSafariPageProperties *properties) {
// Now you can use "properties" in viewController using shareObject
}];
}];
}];
}
展示了如何获取图像文件路径
图像文件位于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
您可以在下面的链接中找到很多信息。
File System Directory Hierarchy