「App:Library:LVGL:docs:Overview:Colors」の版間の差分
(→API) |
|||
51行目: | 51行目: | ||
| | | | ||
Create colors from Red, Green and Blue channel values: | Create colors from Red, Green and Blue channel values: | ||
+ | <syntaxhighlight lang="C++" style="border:1px dashed gray;"> | ||
//All channels are 0-255 | //All channels are 0-255 | ||
lv_color_t c = lv_color_make(red, green, blue); | lv_color_t c = lv_color_make(red, green, blue); | ||
59行目: | 60行目: | ||
//From 3 digits. Same as lv_color_hex(0x112233) | //From 3 digits. Same as lv_color_hex(0x112233) | ||
lv_color_t c = lv_color_hex3(0x123); | lv_color_t c = lv_color_hex3(0x123); | ||
+ | </syntaxhighlight> | ||
| | | | ||
|} | |} | ||
71行目: | 73行目: | ||
| | | | ||
Create colors from Hue, Saturation and Value values: | Create colors from Hue, Saturation and Value values: | ||
+ | <syntaxhighlight lang="C++" style="border:1px dashed gray;"> | ||
//h = 0..359, s = 0..100, v = 0..100 | //h = 0..359, s = 0..100, v = 0..100 | ||
lv_color_t c = lv_color_hsv_to_rgb(h, s, v); | lv_color_t c = lv_color_hsv_to_rgb(h, s, v); | ||
80行目: | 83行目: | ||
//From lv_color_t variable | //From lv_color_t variable | ||
lv_color_hsv_t c_hsv = lv_color_to_hsv(color); | lv_color_hsv_t c_hsv = lv_color_to_hsv(color); | ||
+ | </syntaxhighlight> | ||
| | | | ||
|} | |} | ||
132行目: | 136行目: | ||
| | | | ||
The following functions can modify a color: | The following functions can modify a color: | ||
+ | <syntaxhighlight lang="C++" style="border:1px dashed gray;"> | ||
// Lighten a color. 0: no change, 255: white | // Lighten a color. 0: no change, 255: white | ||
lv_color_t c = lv_color_lighten(c, lvl); | lv_color_t c = lv_color_lighten(c, lvl); | ||
144行目: | 149行目: | ||
// Mix two colors with a given ratio 0: full c2, 255: full c1, 128: half c1 and half c2 | // Mix two colors with a given ratio 0: full c2, 255: full c1, 128: half c1 and half c2 | ||
lv_color_t c = lv_color_mix(c1, c2, ratio); | lv_color_t c = lv_color_mix(c1, c2, ratio); | ||
+ | </syntaxhighlight> | ||
| | | | ||
|} | |} | ||
221行目: | 227行目: | ||
The converter functions return with a number, so you have to use the <code style="color: #bb0000;">full</code> field to map a converted color back into a structure: | The converter functions return with a number, so you have to use the <code style="color: #bb0000;">full</code> field to map a converted color back into a structure: | ||
+ | <syntaxhighlight lang="C++" style="border:1px dashed gray;"> | ||
lv_color_t c; | lv_color_t c; | ||
c.red = 0x38; | c.red = 0x38; | ||
237行目: | 244行目: | ||
lv_color32_t c24; | lv_color32_t c24; | ||
c32.full = lv_color_to32(c); /*Give a 32 bit number with the converted color*/ | c32.full = lv_color_to32(c); /*Give a 32 bit number with the converted color*/ | ||
+ | </syntaxhighlight> | ||
| | | | ||
|} | |} |
2022年7月1日 (金) 13:40時点における版
https://docs.lvgl.io/8.2/overview/color.html
Colors
英文 | 自動翻訳 |
---|---|
The color module handles all color-related functions like changing color depth, creating colors from hex code, converting between color depths, mixing colors, etc. The type
As 16-bit numbers are stored in little-endian format (lower byte at the lower address), the interface will send the lower byte first.
A mismatch in the byte order will result in highly distorted colors. |
カラーモジュールは、色深度の変更、16進コードからの色の作成、色深度間の変換、色の混合など、すべての色関連機能を処理します。
タイプ
16ビットの数値はリトルエンディアン形式(下位アドレスの下位バイト)で格納されるため、インターフェイスは下位バイトを最初に送信します。
バイト順序の不一致は、非常に歪んだ色になります。 |
Creating colors
RGB
英文 | 自動翻訳 |
---|---|
Create colors from Red, Green and Blue channel values: //All channels are 0-255
lv_color_t c = lv_color_make(red, green, blue);
//From hex code 0x000000..0xFFFFFF interpreted as RED + GREEN + BLUE
lv_color_t c = lv_color_hex(0x123456);
//From 3 digits. Same as lv_color_hex(0x112233)
lv_color_t c = lv_color_hex3(0x123);
|
HSV
英文 | 自動翻訳 |
---|---|
Create colors from Hue, Saturation and Value values: //h = 0..359, s = 0..100, v = 0..100
lv_color_t c = lv_color_hsv_to_rgb(h, s, v);
//All channels are 0-255
lv_color_hsv_t c_hsv = lv_color_rgb_to_hsv(r, g, b);
//From lv_color_t variable
lv_color_hsv_t c_hsv = lv_color_to_hsv(color);
|
Palette
英文 | 自動翻訳 |
---|---|
LVGL includes Material Design's palette of colors. In this system all named colors have a nominal main color as well as four darker and five lighter variants. The names of the colors are as follows:
To get the main color use For the lighter variants of a palette color use |
Modify and mix colors
英文 | 自動翻訳 |
---|---|
The following functions can modify a color: // Lighten a color. 0: no change, 255: white
lv_color_t c = lv_color_lighten(c, lvl);
// Darken a color. 0: no change, 255: black
lv_color_t c = lv_color_darken(lv_color_t c, lv_opa_t lvl);
// Lighten or darken a color. 0: black, 128: no change 255: white
lv_color_t c = lv_color_change_lightness(lv_color_t c, lv_opa_t lvl);
// Mix two colors with a given ratio 0: full c2, 255: full c1, 128: half c1 and half c2
lv_color_t c = lv_color_mix(c1, c2, ratio);
|
Built-in colors
英文 | 自動翻訳 |
---|---|
|
Opacity
英文 | 自動翻訳 |
---|---|
To describe opacity the Some special purpose defines are also introduced:
You can also use the |
Color types
英文 | 自動翻訳 |
---|---|
The following variable types are defined by the color module:
The
You can set the current color depth in lv_conf.h, by setting the |
Convert color
英文 | 自動翻訳 |
---|---|
You can convert a color from the current color depth to another. The converter functions return with a number, so you have to use the lv_color_t c;
c.red = 0x38;
c.green = 0x70;
c.blue = 0xCC;
lv_color1_t c1;
c1.full = lv_color_to1(c); /*Return 1 for light colors, 0 for dark colors*/
lv_color8_t c8;
c8.full = lv_color_to8(c); /*Give a 8 bit number with the converted color*/
lv_color16_t c16;
c16.full = lv_color_to16(c); /*Give a 16 bit number with the converted color*/
lv_color32_t c24;
c32.full = lv_color_to32(c); /*Give a 32 bit number with the converted color*/
|
API
英文 | 自動翻訳 |
---|---|
Typedefs typedef lv_color_t (*lv_color_filter_cb_t)(const struct _lv_color_filter_dsc_t*, lv_color_t, lv_opa_t) typedef struct _lv_color_filter_dsc_t lv_color_filter_dsc_t Enums enum [anonymous]
enum lv_palette_t
Functions LV_EXPORT_CONST_INT(LV_COLOR_DEPTH) LV_EXPORT_CONST_INT(LV_COLOR_16_SWAP) typedef LV_CONCAT3 (uint, LV_COLOR_SIZE, _t) lv_color_int_t typedef LV_CONCAT3 (lv_color, LV_COLOR_DEPTH, _t) lv_color_t static inline uint8_t lv_color_to1(lv_color_t color) static inline uint8_t lv_color_to8(lv_color_t color) static inline uint16_t lv_color_to16(lv_color_t color) static inline uint32_t lv_color_to32(lv_color_t color) static inline uint8_t lv_color_brightness(lv_color_t color)
static inline lv_color_t lv_color_make(uint8_t r, uint8_t g, uint8_t b) static inline lv_color_t lv_color_hex(uint32_t c) static inline lv_color_t lv_color_hex3(uint32_t c) static inline void lv_color_filter_dsc_init(lv_color_filter_dsc_t *dsc, lv_color_filter_cb_t cb) lv_color_t lv_color_lighten(lv_color_t c, lv_opa_t lvl) lv_color_t lv_color_darken(lv_color_t c, lv_opa_t lvl) lv_color_t lv_color_change_lightness(lv_color_t c, lv_opa_t lvl) lv_color_t lv_color_hsv_to_rgb(uint16_t h, uint8_t s, uint8_t v)
lv_color_hsv_t lv_color_rgb_to_hsv(uint8_t r8, uint8_t g8, uint8_t b8)
lv_color_hsv_t lv_color_to_hsv(lv_color_t color)
static inline lv_color_t lv_color_chroma_key(void)
lv_color_t lv_palette_main(lv_palette_t p) static inline lv_color_t lv_color_white(void) static inline lv_color_t lv_color_black(void) lv_color_t lv_palette_lighten(lv_palette_t p, uint8_t lvl) lv_color_t lv_palette_darken(lv_palette_t p, uint8_t lvl) union lv_color1_t
union lv_color8_t
struct _lv_color_filter_dsc_t
|
Typedefs
typedef lv_color_t (*lv_color_filter_cb_t)(const struct _lv_color_filter_dsc_t*, lv_color_t, lv_opa_t) typedef struct _lv_color_filter_dsc_t lv_color_filter_dsc_t Enums enum [anonymous]
enum lv_palette_t
Functions LV_EXPORT_CONST_INT(LV_COLOR_DEPTH) LV_EXPORT_CONST_INT(LV_COLOR_16_SWAP) typedef LV_CONCAT3 (uint, LV_COLOR_SIZE, _t) lv_color_int_t typedef LV_CONCAT3 (lv_color, LV_COLOR_DEPTH, _t) lv_color_t static inline uint8_t lv_color_to1(lv_color_t color) static inline uint8_t lv_color_to8(lv_color_t color) static inline uint16_t lv_color_to16(lv_color_t color) static inline uint32_t lv_color_to32(lv_color_t color) static inline uint8_t lv_color_brightness(lv_color_t color)
static inline lv_color_t lv_color_make(uint8_t r, uint8_t g, uint8_t b) static inline lv_color_t lv_color_hex(uint32_t c) static inline lv_color_t lv_color_hex3(uint32_t c) static inline void lv_color_filter_dsc_init(lv_color_filter_dsc_t *dsc, lv_color_filter_cb_t cb) lv_color_t lv_color_lighten(lv_color_t c, lv_opa_t lvl) lv_color_t lv_color_darken(lv_color_t c, lv_opa_t lvl) lv_color_t lv_color_change_lightness(lv_color_t c, lv_opa_t lvl) lv_color_t lv_color_hsv_to_rgb(uint16_t h, uint8_t s, uint8_t v)
lv_color_hsv_t lv_color_rgb_to_hsv(uint8_t r8, uint8_t g8, uint8_t b8)
lv_color_hsv_t lv_color_to_hsv(lv_color_t color)
static inline lv_color_t lv_color_chroma_key(void)
lv_color_t lv_palette_main(lv_palette_t p) static inline lv_color_t lv_color_white(void) static inline lv_color_t lv_color_black(void) lv_color_t lv_palette_lighten(lv_palette_t p, uint8_t lvl) lv_color_t lv_palette_darken(lv_palette_t p, uint8_t lvl) union lv_color1_t
union lv_color8_t
struct _lv_color_filter_dsc_t
|