Evas_Object_Image (3) - Linux Manuals

Evas_Object_Image: Functions used to create and manipulate image objects.

NAME

Image Object Functions - Functions used to create and manipulate image objects.

Functions


EAPI Evas_Object * evas_object_image_add (Evas *e)
Creates a new image object on the given evas.
EAPI int evas_object_image_load_error_get (const Evas_Object *obj)
Retrieves a number representing any error that occurred during the last load of the given image object.
EAPI Evas_Bool evas_object_image_save (const Evas_Object *obj, const char *file, const char *key, const char *flags)
Save the given image object to a file.
EAPI void evas_object_image_pixels_dirty_set (Evas_Object *obj, Evas_Bool dirty)
Mark whether the given image object is dirty (needs to be redrawn).
EAPI Evas_Bool evas_object_image_pixels_dirty_get (const Evas_Object *obj)
Retrieves whether the given image object is dirty (needs to be redrawn).

Detailed Description

Functions used to create and manipulate image objects.

Note - Image objects may return or accept 'image data' in multiple formats. This is based on the colorspace of an object. Here is a rundown on formats:

EVAS_COLORSPACE_ARGB8888:

This pixel format is a linear block of pixels, starting at the top-left row by row until the bottom right of the image or pixel region. All pixels are 32-bit unsigned int's with the high-byte being alpha and the low byte being blue in the format ARGB. Alpha may or may not be used by evas depending on the alpha flag of the image, but if not used, should be set to 0xff anyway.

This colorspace uses premultiplied alpha. That means that R, G and B cannot exceed A in value. The conversion from non-premultiplied colorspace is:

R = (r * a) / 255; G = (g * a) / 255; B = (b * a) / 255;

So 50% transparent blue will be: 0x80000080. This will not be 'dark' - just 50% transparent. Values are 0 == black, 255 == solid or full red, green or blue.

EVAS_COLORSPACE_YCBCR422P601_PL:

This is a pointer-list indirected set of YUV (YCbCr) pixel data. This means that the data returned or set is not actual pixel data, but pointers TO lines of pixel data. The list of pointers will first be N rows of pointers to the Y plane - pointing to the first pixel at the start of each row in the Y plane. N is the height of the image data in pixels. Each pixel in the Y, U and V planes is 1 byte exactly, packed. The next N / 2 pointers will point to rows in the U plane, and the next N / 2 pointers will point to the V plane rows. U and V planes are half the horizontal and vertical resolution of the U plane.

Row order is top to bottom and row pixels are stored left to right.

There is a limitation that these images MUST be a multiple of 2 pixels in size horizontally or vertically. This is due to the U and V planes being half resolution. Also note that this assumes the itu601 YUV colorspace specification. This is defined for standard television and mpeg streams. HDTV may use the itu709 specification.

Values are 0 to 255, indicating full or no signal in that plane respectively.

EVAS_COLORSPACE_YCBCR422P709_PL:

Not implemented yet.

EVAS_COLORSPACE_RGB565_A5P:

In the process of being implemented in 1 engine only. This may change.

This is a pointer to image data for 16-bit half-word pixel data in 16bpp RGB 565 format (5 bits red, 6 bits green, 5 bits blue), with the high-byte containing red and the low byte containing blue, per pixel. This data is packed row by row from the top-left to the bottom right.

If the image has an alpha channel enabled there will be an extra alpha plane after the color pixel plane. If not, then this data will not exist and should not be accessed in any way. This plane is a set of pixels with 1 byte per pixel defining the alpha values of all pixels in the image from the top-left to the bottom right of the image, row by row. Even though the values of the alpha pixels can be 0 to 255, only values 0 through to 32 are used, 32 being solid and 0 being transparent.

RGB values can be 0 to 31 for red and blue and 0 to 63 for green, with 0 being black and 31 or 63 being full red, green or blue respectively. This colorspace is also pre-multiplied like EVAS_COLORSPACE_ARGB8888 so:

R = (r * a) / 32; G = (g * a) / 32; B = (b * a) / 32;

Function Documentation

EAPI Evas_Object* evas_object_image_add (Evas * e)

Creates a new image object on the given evas.

Parameters:

e The given evas.

Returns:

The created image object.

EAPI int evas_object_image_load_error_get (const Evas_Object * obj)

Retrieves a number representing any error that occurred during the last load of the given image object.

Parameters:

obj The given image object.

Returns:

A value giving the last error that occurred. It should be one of the EVAS_LOAD_ERROR_* values. EVAS_LOAD_ERROR_NONE is returned if there was no error.

EAPI Evas_Bool evas_object_image_pixels_dirty_get (const Evas_Object * obj)

Retrieves whether the given image object is dirty (needs to be redrawn).

Parameters:

obj The given image object.

Returns:

Whether the image is dirty.

EAPI void evas_object_image_pixels_dirty_set (Evas_Object * obj, Evas_Bool dirty)

Mark whether the given image object is dirty (needs to be redrawn).

Parameters:

obj The given image object.
dirty Whether the image is dirty.

EAPI Evas_Bool evas_object_image_save (const Evas_Object * obj, const char * file, const char * key, const char * flags)

Save the given image object to a file.

Note that you should pass the filename extension when saving. If the file supports multiple data stored in it as eet, you can specify the key to be used as the index of the image in this file.

You can specify some flags when saving the image. Currently acceptable flags are quality and compress. Eg.: 'quality=100 compress=9'

Parameters:

obj The given image object.
file The filename to be used to save the image.
key The image key in file, or NULL.
flags String containing the flags to be used.

References EVAS_COLORSPACE_ARGB8888.

Author

Generated automatically by Doxygen for Evas from the source code.