lv_image.h
Defines
-
LV_IMAGE_DECLARE(var_name)
Use this macro to declare an image in a C file
Typedefs
-
typedef _lv_image_align_t lv_image_align_t
Enums
-
enum _lv_image_align_t
Image size mode, when image size and object size is different
Values:
-
enumerator LV_IMAGE_ALIGN_DEFAULT
-
enumerator LV_IMAGE_ALIGN_TOP_LEFT
-
enumerator LV_IMAGE_ALIGN_TOP_MID
-
enumerator LV_IMAGE_ALIGN_TOP_RIGHT
-
enumerator LV_IMAGE_ALIGN_BOTTOM_LEFT
-
enumerator LV_IMAGE_ALIGN_BOTTOM_MID
-
enumerator LV_IMAGE_ALIGN_BOTTOM_RIGHT
-
enumerator LV_IMAGE_ALIGN_LEFT_MID
-
enumerator LV_IMAGE_ALIGN_RIGHT_MID
-
enumerator LV_IMAGE_ALIGN_CENTER
-
enumerator _LV_IMAGE_ALIGN_AUTO_TRANSFORM
-
enumerator LV_IMAGE_ALIGN_STRETCH
-
enumerator LV_IMAGE_ALIGN_TILE
-
enumerator LV_IMAGE_ALIGN_DEFAULT
Functions
-
lv_obj_t *lv_image_create(lv_obj_t *parent)
Create an image object
- Parameters:
parent -- pointer to an object, it will be the parent of the new image
- Returns:
pointer to the created image
-
void lv_image_set_src(lv_obj_t *obj, const void *src)
Set the image data to display on the object
- Parameters:
obj -- pointer to an image object
src -- 1) pointer to an lv_image_dsc_t descriptor (converted by LVGL's image converter) (e.g. &my_img) or 2) path to an image file (e.g. "S:/dir/img.bin")or 3) a SYMBOL (e.g. LV_SYMBOL_OK)
-
void lv_image_set_offset_x(lv_obj_t *obj, int32_t x)
Set an offset for the source of an image so the image will be displayed from the new origin.
- Parameters:
obj -- pointer to an image
x -- the new offset along x axis.
-
void lv_image_set_offset_y(lv_obj_t *obj, int32_t y)
Set an offset for the source of an image. so the image will be displayed from the new origin.
- Parameters:
obj -- pointer to an image
y -- the new offset along y axis.
-
void lv_image_set_rotation(lv_obj_t *obj, int32_t angle)
Set the rotation angle of the image. The image will be rotated around the set pivot set by
lv_image_set_pivot()
Note that indexed and alpha only images can't be transformed.Note
if image_align is
LV_IMAGE_ALIGN_STRETCH
orLV_IMAGE_ALIGN_FIT
rotation will be set to 0 automatically.- Parameters:
obj -- pointer to an image object
angle -- rotation in degree with 0.1 degree resolution (0..3600: clock wise)
-
void lv_image_set_pivot(lv_obj_t *obj, int32_t x, int32_t y)
Set the rotation center of the image. The image will be rotated around this point. x, y can be set with value of LV_PCT, lv_image_get_pivot will return the true pixel coordinate of pivot in this case.
- Parameters:
obj -- pointer to an image object
x -- rotation center x of the image
y -- rotation center y of the image
-
static inline void _lv_image_set_pivot(lv_obj_t *obj, lv_point_t *pivot)
Set pivot similar to get_pivot
-
void lv_image_set_blend_mode(lv_obj_t *obj, lv_blend_mode_t blend_mode)
Set the blend mode of an image.
- Parameters:
obj -- pointer to an image object
blend_mode -- the new blend mode
-
void lv_image_set_antialias(lv_obj_t *obj, bool antialias)
Enable/disable anti-aliasing for the transformations (rotate, zoom) or not. The quality is better with anti-aliasing looks better but slower.
- Parameters:
obj -- pointer to an image object
antialias -- true: anti-aliased; false: not anti-aliased
-
void lv_image_set_align(lv_obj_t *obj, lv_image_align_t align)
Set the image object size mode.
Note
if image_align is
LV_IMAGE_ALIGN_STRETCH
orLV_IMAGE_ALIGN_FIT
rotation, scale and pivot will be overwritten and controlled internally.- Parameters:
obj -- pointer to an image object
align -- the new align mode.
-
const void *lv_image_get_src(lv_obj_t *obj)
Get the source of the image
- Parameters:
obj -- pointer to an image object
- Returns:
the image source (symbol, file name or ::lv-img_dsc_t for C arrays)
-
int32_t lv_image_get_offset_x(lv_obj_t *obj)
Get the offset's x attribute of the image object.
- Parameters:
obj -- pointer to an image
- Returns:
offset X value.
-
int32_t lv_image_get_offset_y(lv_obj_t *obj)
Get the offset's y attribute of the image object.
- Parameters:
obj -- pointer to an image
- Returns:
offset Y value.
-
int32_t lv_image_get_rotation(lv_obj_t *obj)
Get the rotation of the image.
Note
if image_align is
LV_IMAGE_ALIGN_STRETCH
orLV_IMAGE_ALIGN_FIT
rotation will be set to 0 automatically.- Parameters:
obj -- pointer to an image object
- Returns:
rotation in 0.1 degrees (0..3600)
-
void lv_image_get_pivot(lv_obj_t *obj, lv_point_t *pivot)
Get the pivot (rotation center) of the image. If pivot is set with LV_PCT, convert it to px before return.
- Parameters:
obj -- pointer to an image object
pivot -- store the rotation center here
-
int32_t lv_image_get_scale(lv_obj_t *obj)
Get the zoom factor of the image.
- Parameters:
obj -- pointer to an image object
- Returns:
zoom factor (256: no zoom)
-
int32_t lv_image_get_scale_x(lv_obj_t *obj)
Get the horizontal zoom factor of the image.
- Parameters:
obj -- pointer to an image object
- Returns:
zoom factor (256: no zoom)
-
int32_t lv_image_get_scale_y(lv_obj_t *obj)
Get the vertical zoom factor of the image.
- Parameters:
obj -- pointer to an image object
- Returns:
zoom factor (256: no zoom)
-
lv_blend_mode_t lv_image_get_blend_mode(lv_obj_t *obj)
Get the current blend mode of the image
- Parameters:
obj -- pointer to an image object
- Returns:
the current blend mode
-
bool lv_image_get_antialias(lv_obj_t *obj)
Get whether the transformations (rotate, zoom) are anti-aliased or not
- Parameters:
obj -- pointer to an image object
- Returns:
true: anti-aliased; false: not anti-aliased
-
lv_image_align_t lv_image_get_align(lv_obj_t *obj)
Get the size mode of the image
- Parameters:
obj -- pointer to an image object
- Returns:
element of lv_image_align_t
Variables
-
const lv_obj_class_t lv_image_class
-
struct lv_image_t
- #include <lv_image.h>
Data of image
Public Members
-
const void *src
Image source: Pointer to an array or a file or a symbol
-
lv_point_t offset
-
int32_t w
Width of the image (Handled by the library)
-
int32_t h
Height of the image (Handled by the library)
-
uint32_t rotation
Rotation angle of the image
-
uint32_t scale_x
256 means no zoom, 512 double size, 128 half size
-
uint32_t scale_y
256 means no zoom, 512 double size, 128 half size
-
lv_point_t pivot
Rotation center of the image
-
uint32_t src_type
See: lv_image_src_t
-
uint32_t cf
Color format from
lv_color_format_t
-
uint32_t antialias
Apply anti-aliasing in transformations (rotate, zoom)
-
uint32_t align
Image size mode when image size and object size is different. See
lv_image_align_t
-
uint32_t blend_mode
Element of
lv_blend_mode_t
-
const void *src