Tizen Native API  3.0
Image Util Transform

The Image Util Transform APIs provides functions for transfroming of images .

Required Header

#include <image_util.h>

Overview

Image Util API provides support for transforming of images. The API allows :

  • Image transformation(Colorspace conversion/Resize/Rotate/Crop) .

The API allows to transform(Colorspace conversion/Resize/Rotate/Crop) including convert the colorspace(image_util_colorspace_e) of an image by calling image_util_transform_run() function.

Functions

int image_util_transform_create (transformation_h *handle)
 Creates a handle to image util transform.
int image_util_transform_set_hardware_acceleration (transformation_h handle, bool mode)
 Sets the image util's accurate mode.
int image_util_transform_set_colorspace (transformation_h handle, image_util_colorspace_e colorspace)
 Sets the information of the converting.
int image_util_transform_set_resolution (transformation_h handle, unsigned int width, unsigned int height)
 Sets the information of the resizing.
int image_util_transform_set_rotation (transformation_h handle, image_util_rotation_e rotation)
 Sets the information of the rotating.
int image_util_transform_set_crop_area (transformation_h handle, unsigned int start_x, unsigned int start_y, unsigned int end_x, unsigned int end_y)
 Sets the information of the cropping.
int image_util_transform_get_colorspace (transformation_h handle, image_util_colorspace_e *colorspace)
 Gets the colorspace of the image buffer.
int image_util_transform_get_resolution (transformation_h handle, unsigned int *width, unsigned int *height)
 Gets the resolution of the image buffer.
int image_util_transform_get_rotation (transformation_h handle, image_util_rotation_e *rotation)
 Gets the information of the rotating.
int image_util_transform_get_crop_area (transformation_h handle, unsigned int *start_x, unsigned int *start_y, unsigned int *end_x, unsigned int *end_y)
 Gets the information of the cropping.
int image_util_transform_run (transformation_h handle, media_packet_h src, image_util_transform_completed_cb callback, void *user_data)
 Transform the image for given image util handle.
int image_util_transform_destroy (transformation_h handle)
 Destroys a handle to image util.

Typedefs

typedef struct transformation_s * transformation_h
 Image util handle.
typedef void(* image_util_transform_completed_cb )(media_packet_h *dst, int error_code, void *user_data)
 Called when transform is finished just before returning the output.

Typedef Documentation

typedef void(* image_util_transform_completed_cb)(media_packet_h *dst, int error_code, void *user_data)

Called when transform is finished just before returning the output.

Since :
2.3
Remarks:
You must release the dst result using media_packet_destroy().
The callback is called in a separate thread(not in the main loop).
Parameters:
[in]error_codeThe error code of image util transfrom
[in,out]dstThe result buffer of image util transform
[in]user_dataThe user data passed from the callback registration function
Precondition:
image_util_transform_run() will invoke this function.
typedef struct transformation_s* transformation_h

Image util handle.

Since :
2.3

Enumeration Type Documentation

Enumeration for rotation.

Since :
2.3
Enumerator:
IMAGE_UTIL_ROTATION_NONE 

None

IMAGE_UTIL_ROTATION_90 

Rotation 90 degree

IMAGE_UTIL_ROTATION_180 

Rotation 180 degree

IMAGE_UTIL_ROTATION_270 

Rotation 270 degree

IMAGE_UTIL_ROTATION_FLIP_HORZ 

Flip horizontal

IMAGE_UTIL_ROTATION_FLIP_VERT 

Flip vertical


Function Documentation

Creates a handle to image util transform.

Since :
2.3

This function creates a handle to image util transform.

Remarks:
You must release the image util handle using image_util_transform_destroy().
Parameters:
[out]handleA handle to image util transform
Returns:
0 on success, otherwise a negative error value
Return values:
IMAGE_UTIL_ERROR_NONESuccessful
IMAGE_UTIL_ERROR_INVALID_PARAMETERInvalid parameter
IMAGE_UTIL_ERROR_OUT_OF_MEMORYOut of memory
IMAGE_UTIL_ERROR_PERMISSION_DENIEDThe application does not have the privilege to call this funtion
See also:
image_util_transform_destroy()

Destroys a handle to image util.

Since :
2.3

The function frees all resources related to the image util handle. The image util handle no longer can be used to perform any operation. A new image util handle has to be created before the next usage.

Parameters:
[in]handleThe handle to image util transform
Returns:
0 on success, otherwise a negative error value
Return values:
IMAGE_UTIL_ERROR_NONESuccessful
IMAGE_UTIL_ERROR_INVALID_PARAMETERInvalid parameter
IMAGE_UTIL_ERROR_PERMISSION_DENIEDThe application does not have the privilege to call this funtion
See also:
image_util_transform_create()

Gets the colorspace of the image buffer.

Since :
2.3
Parameters:
[in]handleThe handle to image util transform
[in,out]colorspaceThe colorspace of the image buffer
Returns:
0 on success, otherwise a negative error value
Return values:
IMAGE_UTIL_ERROR_NONESuccessful
IMAGE_UTIL_ERROR_INVALID_PARAMETERInvalid parameter
IMAGE_UTIL_ERROR_INVALID_OPERATIONInvalid operation
IMAGE_UTIL_ERROR_NOT_SUPPORTED_FORMATNot supported format
Precondition:
image_util_transform_create().
image_util_transform_set_crop_area().
See also:
image_util_transform_create()
image_util_transform_destroy()
int image_util_transform_get_crop_area ( transformation_h  handle,
unsigned int *  start_x,
unsigned int *  start_y,
unsigned int *  end_x,
unsigned int *  end_y 
)

Gets the information of the cropping.

Since :
2.3
Parameters:
[in]handleThe handle to image util transform
[in,out]start_xThe start x position of cropped source image buffer
[in,out]start_yThe start y position of cropped source image buffer
[in,out]end_xThe end x position of cropped source image buffer
[in,out]end_yThe end y position of cropped source image buffer
Returns:
0 on success, otherwise a negative error value
Return values:
IMAGE_UTIL_ERROR_NONESuccessful
IMAGE_UTIL_ERROR_INVALID_PARAMETERInvalid parameter
IMAGE_UTIL_ERROR_INVALID_OPERATIONInvalid operation
IMAGE_UTIL_ERROR_PERMISSION_DENIEDThe application does not have the privilege to call this funtion
Precondition:
image_util_transform_create().
image_util_transform_set_crop_area().
See also:
image_util_transform_create()
image_util_transform_destroy()
int image_util_transform_get_resolution ( transformation_h  handle,
unsigned int *  width,
unsigned int *  height 
)

Gets the resolution of the image buffer.

Since :
2.3
Parameters:
[in]handleThe handle to image util transform
[in,out]widthThe width of source image buffer
[in,out]heightThe height of source image buffer
Returns:
0 on success, otherwise a negative error value
Return values:
IMAGE_UTIL_ERROR_NONESuccessful
IMAGE_UTIL_ERROR_INVALID_PARAMETERInvalid parameter
IMAGE_UTIL_ERROR_INVALID_OPERATIONInvalid operation
IMAGE_UTIL_ERROR_PERMISSION_DENIEDThe application does not have the privilege to call this funtion
Precondition:
image_util_transform_create().
image_util_transform_set_resolution().
See also:
image_util_transform_create()
image_util_transform_destroy()

Gets the information of the rotating.

Since :
2.3
Parameters:
[in]handleThe handle to image util transform
[in,out]rotationThe rotation value of image buffer
Returns:
0 on success, otherwise a negative error value
Return values:
IMAGE_UTIL_ERROR_NONESuccessful
IMAGE_UTIL_ERROR_INVALID_PARAMETERInvalid parameter
IMAGE_UTIL_ERROR_INVALID_OPERATIONInvalid operation
IMAGE_UTIL_ERROR_PERMISSION_DENIEDThe application does not have the privilege to call this funtion
Precondition:
image_util_transform_create().
image_util_transform_set_rotation().
See also:
image_util_transform_create()
image_util_transform_destroy()
int image_util_transform_run ( transformation_h  handle,
media_packet_h  src,
image_util_transform_completed_cb  callback,
void *  user_data 
)

Transform the image for given image util handle.

Since :
2.3
Remarks:
If H/W acceleration is not set, transformation is done via S/W acceleration.

The function execute asynchronously, which contains complete callback
If you set more than two transforming, the order of running is crop or resolution, colorspace converting, rotaion.

Parameters:
[in]handleThe handle of transform
[in]srcThe handle to image util transform
[in]callbackThe callback function to be invoked
[in]user_dataThe user data to be passed to the callback function
Returns:
0 on success, otherwise a negative error value
Return values:
IMAGE_UTIL_ERROR_NONESuccessful
IMAGE_UTIL_ERROR_INVALID_PARAMETERInvalid parameter
IMAGE_UTIL_ERROR_INVALID_OPERATIONInvalid operation
IMAGE_UTIL_ERROR_PERMISSION_DENIEDThe application does not have the privilege to call this funtion
See also:
image_util_transform_create()
image_util_transform_set_hardware_acceleration
image_util_transform_destroy()

Sets the information of the converting.

Since :
2.3
Parameters:
[in]handleThe handle to image util transform
[in]colorspaceThe colorspace of the image buffer
Returns:
0 on success, otherwise a negative error value
Return values:
IMAGE_UTIL_ERROR_NONESuccessful
IMAGE_UTIL_ERROR_INVALID_PARAMETERInvalid parameter
IMAGE_UTIL_ERROR_INVALID_OPERATIONInvalid operation
IMAGE_UTIL_ERROR_PERMISSION_DENIEDThe application does not have the privilege to call this funtion
IMAGE_UTIL_ERROR_NOT_SUPPORTED_FORMATNot supported format
Precondition:
image_util_transform_create().
See also:
image_util_transform_create()
image_util_transform_run()
image_util_transform_destroy()
int image_util_transform_set_crop_area ( transformation_h  handle,
unsigned int  start_x,
unsigned int  start_y,
unsigned int  end_x,
unsigned int  end_y 
)

Sets the information of the cropping.

Since :
2.3
Remarks:
image_util_transform_set_resolution and image_util_transform_set_crop_area can't do that at the same time.
Parameters:
[in]handleThe handle to image util transform
[in]start_xThe start x position of cropped image buffer
[in]start_yThe start y position of cropped image buffer
[in]end_xThe end x position of cropped image buffer
[in]end_yThe end y position of cropped image buffer
Returns:
0 on success, otherwise a negative error value
Return values:
IMAGE_UTIL_ERROR_NONESuccessful
IMAGE_UTIL_ERROR_INVALID_PARAMETERInvalid parameter
IMAGE_UTIL_ERROR_INVALID_OPERATIONInvalid operation
IMAGE_UTIL_ERROR_PERMISSION_DENIEDThe application does not have the privilege to call this funtion
Precondition:
image_util_transform_create().
See also:
image_util_transform_create()
image_util_transform_run()
image_util_transform_destroy()

Sets the image util's accurate mode.

Since :
2.3

This function set if you use hardware accerlation or not.

Remarks:
The value returned will be IMAGE_UTIL_ERROR_NOT_SUPPORTED, if H/W acceleration doesn't support on the device.
Parameters:
[in]handleThe handle to image util
[in]modeSet true, user can use the hardware acceleration
otherwise set false if user can only software image processing
Returns:
0 on success, otherwise a negative error value
Return values:
IMAGE_UTIL_ERROR_NONESuccessful
IMAGE_UTIL_ERROR_INVALID_PARAMETERInvalid parameter
IMAGE_UTIL_ERROR_INVALID_OPERATIONInvalid operation
IMAGE_UTIL_ERROR_PERMISSION_DENIEDThe application does not have the privilege to call this funtion
IMAGE_UTIL_ERROR_NOT_SUPPORTEDThe application does not have the hardware acceleration
Precondition:
image_util_transform_create().
See also:
image_util_transform_create()
image_util_transform_destroy()
int image_util_transform_set_resolution ( transformation_h  handle,
unsigned int  width,
unsigned int  height 
)

Sets the information of the resizing.

Since :
2.3
Remarks:
image_util_transform_set_resolution and image_util_transform_set_crop_area can't do that at the same time.
Parameters:
[in]handleThe handle to image util transform
[in]widthThe width of image buffer
[in]heightThe height of image buffer
Returns:
0 on success, otherwise a negative error value
Return values:
IMAGE_UTIL_ERROR_NONESuccessful
IMAGE_UTIL_ERROR_INVALID_PARAMETERInvalid parameter
IMAGE_UTIL_ERROR_INVALID_OPERATIONInvalid operation
IMAGE_UTIL_ERROR_PERMISSION_DENIEDThe application does not have the privilege to call this funtion
Precondition:
image_util_transform_create().
See also:
image_util_transform_create()
image_util_transform_run()
image_util_transform_destroy()

Sets the information of the rotating.

Since :
2.3
Parameters:
[in]handleThe handle to image util transform
[in]rotationThe rotation value of image buffer
Returns:
0 on success, otherwise a negative error value
Return values:
IMAGE_UTIL_ERROR_NONESuccessful
IMAGE_UTIL_ERROR_INVALID_PARAMETERInvalid parameter
IMAGE_UTIL_ERROR_INVALID_OPERATIONInvalid operation
IMAGE_UTIL_ERROR_PERMISSION_DENIEDThe application does not have the privilege to call this funtion
Precondition:
image_util_transform_create().
See also:
image_util_transform_create()
image_util_transform_run()
image_util_transform_destroy()