Tizen Native API  8.0
Thumbnail Util

The Thumbnail Util API provides functions for creating the thumbnail from a given media file.

Required Header

#include <thumbnail_util.h>

Overview

The Thumbnail Util API allows you to create thumbnails of the size you want from media files.
Thumbnails can be created as files(thumbnail_util_extract_to_file()) or buffers(thumbnail_util_extract_to_buffer()).

Functions

int thumbnail_util_extract_to_file (const char *path, unsigned int width, unsigned int height, const char *thumbnail_path)
 Extracts the thumbnail for the given media into a file, synchronously.
int thumbnail_util_extract_to_buffer (const char *path, unsigned int width, unsigned int height, unsigned char **thumb_buffer, size_t *thumb_size, unsigned int *thumb_width, unsigned int *thumb_height)
 Extracts the thumbnail for the given media into a buffer, synchronously.

Defines

#define THUMBNAIL_UTIL_ERROR_CLASS   TIZEN_ERROR_THUMBNAIL_UTIL
 Definition for Thumbnail util Error Class.

Define Documentation

#define THUMBNAIL_UTIL_ERROR_CLASS   TIZEN_ERROR_THUMBNAIL_UTIL

Definition for Thumbnail util Error Class.

Since :
2.4

Enumeration Type Documentation

Enumeration for a thumbnail util error.

Since :
2.4
Enumerator:
THUMBNAIL_UTIL_ERROR_NONE 

Successful

THUMBNAIL_UTIL_ERROR_INVALID_PARAMETER 

Invalid parameter

THUMBNAIL_UTIL_ERROR_OUT_OF_MEMORY 

Out of memory

THUMBNAIL_UTIL_ERROR_INVALID_OPERATION 

Invalid Operation

THUMBNAIL_UTIL_ERROR_FILE_NO_SPACE_ON_DEVICE 

No space left on device

THUMBNAIL_UTIL_ERROR_PERMISSION_DENIED 

Permission denied

THUMBNAIL_UTIL_ERROR_UNSUPPORTED_CONTENT 

Unsupported Content (Since 4.0)


Function Documentation

int thumbnail_util_extract_to_buffer ( const char *  path,
unsigned int  width,
unsigned int  height,
unsigned char **  thumb_buffer,
size_t *  thumb_size,
unsigned int *  thumb_width,
unsigned int *  thumb_height 
)

Extracts the thumbnail for the given media into a buffer, synchronously.

This function creates thumbnails from a given media file.
The generated thumbnail is returned as a raw data stream.

Since :
5.0
Remarks:
http://tizen.org/privilege/mediastorage is needed if input or output path points to media storage.
http://tizen.org/privilege/externalstorage is needed if input or output path points to external storage.
The width and height of the thumbnail to be generated cannot exceed 2000.
The width and height of the thumbnail to be generated cannot exceed the original resolution.
In the case of video file, color space of the generated thumbnail is RGB.
In the case of image file, color space of the generated thumbnail is BGRA.
The thumb_buffer should be released using free(). Since 5.5, if the width and height of the thumbnail to be generated exceeds the original resolution, the value changes to the original resolution.
In order to maintain the ratio, the requested size and generated size may be different. (Modify based on short axis)
Parameters:
[in]pathThe path of the original media file
[in]widthThe width of the thumbnail
[in]heightThe height of the thumbnail
[out]thumb_bufferThe raw data of the thumbnail which is generated
[out]thumb_sizeThe size of the thumbnail which is generated
[out]thumb_widthThe width of the thumbnail which is generated
[out]thumb_heightThe height of the thumbnail which is generated
Returns:
0 on success, otherwise a negative error value
Return values:
THUMBNAIL_UTIL_ERROR_NONESuccessful
THUMBNAIL_UTIL_ERROR_INVALID_PARAMETERInvalid parameter
THUMBNAIL_UTIL_ERROR_INVALID_OPERATIONInvalid operation
THUMBNAIL_UTIL_ERROR_OUT_OF_MEMORYOut of memory
THUMBNAIL_UTIL_ERROR_PERMISSION_DENIEDPermission denied
int thumbnail_util_extract_to_file ( const char *  path,
unsigned int  width,
unsigned int  height,
const char *  thumbnail_path 
)

Extracts the thumbnail for the given media into a file, synchronously.

This function creates thumbnail from a given media file.
The generated thumbnail is saved in the given thumbnail path.
The format of the thumbnail file is determined by the extension of the thumbnail path (e.g. path is input.jpg and thumbnail_path is thumbnail.png then thumbnail.png is encoded in the PNG format).
If the extension is missing or the format is not supported, the thumbnail is encoded in the same format as the given media (e.g. path is input.jpg and thumbnail_path is thumbnail.out then thumbnail.out is encoded in the JPEG format).
Supported image formats are as follows:

  • GIF, JPEG, PNG, BMP, WBMP
    Video files only support JPEG format thumbnail.
Since :
5.0
Remarks:
http://tizen.org/privilege/mediastorage is needed if input or output path points to media storage.
http://tizen.org/privilege/externalstorage is needed if input or output path points to external storage.
The width and height of the thumbnail to be generated cannot exceed 2000.
The width and height of the thumbnail to be generated cannot exceed the original resolution.
Since 5.5, if the width and height of the thumbnail to be generated exceeds the original resolution, the value changes to the original resolution.
In order to maintain the ratio, the requested size and generated size may be different. (Modify based on short axis)
If the parent directory of the thumbnail path to be generated does not exist, an error is returned.
Parameters:
[in]pathThe path of the original media file
[in]widthThe width of the thumbnail
[in]heightThe height of the thumbnail
[in]thumbnail_pathThe path to save the generated thumbnail
Returns:
0 on success, otherwise a negative error value
Return values:
THUMBNAIL_UTIL_ERROR_NONESuccessful
THUMBNAIL_UTIL_ERROR_INVALID_PARAMETERInvalid parameter
THUMBNAIL_UTIL_ERROR_INVALID_OPERATIONInvalid operation
THUMBNAIL_UTIL_ERROR_OUT_OF_MEMORYOut of memory
THUMBNAIL_UTIL_ERROR_PERMISSION_DENIEDPermission denied