Tizen D.I.T

Image

D.I.T

#include "dit.h"
#include "Device/File.h"
#include "Interface/Log.h"

void Image_use ()
{
    Image image = NewImage ();
    // Image 모듈 생성

    image->setURI (image, "/opt/usr/media/Images/test.jpg");
    // 파일 경로 설정

    String mediaid = image->getMediaId (image);
    LOGINFO("DIT", "%s", (mediaid != NULL) ? mediaid : "(NONE)");
    // Image mediaid 출력

    String datestring = image->getDate (image);
    LOGINFO("DIT", "%s", (datestring != NULL) ? datastring : "(NONE)");
    // Image 날짜 출력

    int imagewidth = image->getWidth (image);
    LOGINFO("DIT", "%d", imagewidth);
    // Image 너비 출력

    int imageheight = image->getHeight (image);
    LOGINFO("DIT", "%d", imageheight);
    // Image 높이 출력

    if ( datastring )
    {
        free (datastring);
    }
    if ( mediaid )
    {
        free (mediaid);
    }

    DestroyImage (image);
    // Image 모듈 삭제
}

Native

#include <metadata_extractor.h>
#include <media_content.h>
#include <dlog.h>
#include <glib.h>

void Image_use ()
{
    char * src = "/opt/usr/media/Images/test.jpg";

    int width  = 0;
    int height = 0;
    char  * datestring    = NULL;
    char  * mediaId       = NULL;
    GList * all_item_list = NULL;
    media_info_h              media_handle = NULL;
    media_content_type_e      media_type   = 0;
    char                      buf[1024]    = {'\0'};
    media_content_error_e     ret          = MEDIA_CONTENT_ERROR_NONE;
    filter_h                  filter       = NULL;
    media_content_collation_e collate_type = MEDIA_CONTENT_COLLATE_NOCASE;
    media_content_order_e     order_type   = MEDIA_CONTENT_ORDER_DESC;
    image_meta_h              img_metadata = NULL;

    media_content_connect ();

    media_filter_create (&filter);

    char * filterpath = calloc (strlen (src) + 3, sizeof (char));

    snprintf (filterpath, strlen (src) + 3, "'%s'", src);
    // Set the condition
    snprintf (buf, 1024, "%s = %d AND %s = %s", MEDIA_TYPE, MEDIA_CONTENT_TYPE_IMAGE, MEDIA_PATH, filterpath);
    free (filterpath);

    media_filter_set_condition (filter, buf, collate_type);
    media_filter_set_order (filter, order_type, MEDIA_DISPLAY_NAME, collate_type);
    media_info_foreach_media_from_db (filter, gallery_media_item_cbx, &all_item_list);
    media_handle = (media_info_h)g_list_nth_data (all_item_list, 0);
    // 파일 경로 설정

    media_info_get_media_id (media_handle, &mediaId);
    dlog_print (DLOG_INFO, "DIT", "%s", (mediaId != NULL) ? mediaId : "(NONE)");
    // Image mediaid 출력

    if ( media_type == MEDIA_CONTENT_TYPE_IMAGE )
    {

        media_info_get_image (media_handle, &img_metadata);

        image_meta_get_date_taken (img_metadata, &datestring);
        dlog_print (DLOG_INFO, "DIT", "%s", (mediaId != NULL) ? mediaId : "(NONE)");
        // Image 날짜 출력

        image_meta_get_width (img_metadata, &width);
        dlog_print (DLOG_INFO, "DIT", "%s", (mediaId != NULL) ? mediaId : "(NONE)");
        // Image 너비 출력

        image_meta_get_height (img_metadata, &height);
        dlog_print (DLOG_INFO, "DIT", "%s", (mediaId != NULL) ? mediaId : "(NONE)");
        // Image 높이 출력
    }

    if ( datestring )
    {
        free (datestring);
    }
    if ( mediaId )
    {
        free (mediaId);
    }

    media_content_disconnect ();

}