lv_image.h
Defines
-
LV_IMAGE_DECLARE(var_name)
Use this macro to declare an image in a C file
Typedefs
-
typedef _lv_image_size_mode_t lv_image_size_mode_t
Enums
-
enum _lv_image_size_mode_t
Image size mode, when image size and object size is different
Values:
-
enumerator LV_IMAGE_SIZE_MODE_VIRTUAL
Zoom doesn't affect the coordinates of the object, however if zoomed in the image is drawn out of the its coordinates. The layout's won't change on zoom
-
enumerator LV_IMAGE_SIZE_MODE_REAL
If the object size is set to SIZE_CONTENT, then object size equals zoomed image size. It causes layout recalculation. If the object size is set explicitly, the image will be cropped when zoomed in.
-
enumerator LV_IMAGE_SIZE_MODE_VIRTUAL
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, lv_coord_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, lv_coord_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.- 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, lv_coord_t x, lv_coord_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_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_size_mode(lv_obj_t *obj, lv_image_size_mode_t mode)
Set the image object size mode.
- Parameters:
obj -- pointer to an image object
mode -- the new size 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)
-
lv_coord_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.
-
lv_coord_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.
-
lv_coord_t lv_image_get_rotation(lv_obj_t *obj)
Get the rotation of the image.
- 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
-
lv_coord_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)
-
lv_coord_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)
-
lv_coord_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)
-
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_size_mode_t lv_image_get_size_mode(lv_obj_t *obj)
Get the size mode of the image
- Parameters:
obj -- pointer to an image object
- Returns:
element of lv_image_size_mode_t
Variables
-
const lv_obj_class_t lv_image_class
-
struct lv_image_t
- #include <lv_image.h>
Data of image