「App:Library:LVGL:docs:Overview:Colors」の版間の差分
(→API) |
(→API) |
||
11行目: | 11行目: | ||
The type <code style="color: #bb0000;">lv_color_t</code> is used to store a color. Its fields are set according to <code style="color: #bb0000;">LV_COLOR_DEPTH</code> in <code style="color: #bb0000;">lv_conf.h</code>. (See below) | The type <code style="color: #bb0000;">lv_color_t</code> is used to store a color. Its fields are set according to <code style="color: #bb0000;">LV_COLOR_DEPTH</code> in <code style="color: #bb0000;">lv_conf.h</code>. (See below) | ||
− | You may set <code style="color: #bb0000;">LV_COLOR_16_SWAP</code> in <code style="color: #bb0000;">lv_conf.h</code> to swap bytes of ''RGB565'' colors. You may need this when sending 16-bit colors via a byte-oriented interface like SPI. As 16-bit numbers are stored in little-endian format (lower byte at the lower address), the interface will send the lower byte first. However, displays usually need the higher byte first. A mismatch in the byte order will result in highly distorted colors. | + | |
− | | | + | You may set <code style="color: #bb0000;">LV_COLOR_16_SWAP</code> in <code style="color: #bb0000;">lv_conf.h</code> to swap bytes of ''RGB565'' colors. |
+ | |||
+ | |||
+ | You may need this when sending 16-bit colors via a byte-oriented interface like SPI. | ||
+ | |||
+ | As 16-bit numbers are stored in little-endian format (lower byte at the lower address), the interface will send the lower byte first. | ||
+ | |||
+ | |||
+ | However, displays usually need the higher byte first. | ||
+ | |||
+ | A mismatch in the byte order will result in highly distorted colors. | ||
+ | |カラーモジュールは、色深度の変更、16進コードからの色の作成、色深度間の変換、色の混合など、すべての色関連機能を処理します。 | ||
+ | |||
+ | タイプ <code style="color: #bb0000;">lv_color_t</code> は、色を格納するために使用されます。 そのフィールドは<code style="color: #bb0000;">lv_conf.h</code>の <code style="color: #bb0000;">LV_COLOR_DEPTH</code> に従って設定されます。(下記参照) | ||
+ | |||
+ | |||
+ | <code style="color: #bb0000;">lv_conf.h</code>で <code style="color: #bb0000;">LV_COLOR_16_SWAP</code> 設定して、RGB565色のバイトを交換できます。 | ||
+ | |||
+ | |||
+ | SPIのようなバイト指向のインターフェースを介して16ビットカラーを送信する場合にこれが必要になることがあります。 | ||
+ | |||
+ | 16ビットの数値はリトルエンディアン形式(下位アドレスの下位バイト)で格納されるため、インターフェイスは下位バイトを最初に送信します。 | ||
+ | |||
+ | |||
+ | ただし、通常、ディスプレイには最初に上位バイトが必要です。 | ||
+ | |||
+ | バイト順序の不一致は、非常に歪んだ色になります。 | ||
|} | |} | ||
:[[App:Library:LVGL:docs:Overview|戻る : Previous]] | :[[App:Library:LVGL:docs:Overview|戻る : Previous]] | ||
65行目: | 91行目: | ||
|- | |- | ||
| | | | ||
− | 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. | + | 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: | The names of the colors are as follows: | ||
139行目: | 167行目: | ||
|- | |- | ||
| | | | ||
− | To describe opacity the <code style="color: #bb0000;">lv_opa_t</code> type is created from <code style="color: #bb0000;">uint8_t</code>. Some special purpose defines are also introduced: | + | To describe opacity the <code style="color: #bb0000;">lv_opa_t</code> type is created from <code style="color: #bb0000;">uint8_t</code>. |
+ | |||
+ | Some special purpose defines are also introduced: | ||
* <code style="color: #bb0000;">LV_OPA_TRANSP</code> Value: 0, means no opacity making the color completely transparent | * <code style="color: #bb0000;">LV_OPA_TRANSP</code> Value: 0, means no opacity making the color completely transparent | ||
188行目: | 218行目: | ||
|- | |- | ||
| | | | ||
− | 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 <code style="color: #bb0000;">full</code> field to map a converted color back into a structure: | + | 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 <code style="color: #bb0000;">full</code> field to map a converted color back into a structure: | ||
lv_color_t c; | lv_color_t c; | ||
c.red = 0x38; | c.red = 0x38; | ||
616行目: | 648行目: | ||
: HSV色をRGBに変換する | : HSV色をRGBに変換する | ||
:'''Parameters''' | :'''Parameters''' | ||
− | ::*'''h''' -- 色相[0..359] | + | ::*'''h''' -- 色相(Hue)[0..359] |
− | ::*'''s''' -- | + | ::*'''s''' -- 彩度(Saturation・Chroma) [0..100] |
− | ::*'''v''' -- | + | ::*'''v''' -- 明度(Value・Brightness)[0..100] |
:'''Returns''' | :'''Returns''' | ||
:: RGBで指定されたRGBカラー(LV_COLOR_DEPTH深度を使用) | :: RGBで指定されたRGBカラー(LV_COLOR_DEPTH深度を使用) |
2022年7月1日 (金) 13:39時点における版
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
|