|
| | VTFPP_FORMAT (RGBA8888, VTFPP_FORMAT_ACCESSOR(r) VTFPP_FORMAT_ACCESSOR(g) VTFPP_FORMAT_ACCESSOR(b) VTFPP_FORMAT_ACCESSOR(a)) |
| | VTFPP_FORMAT (ABGR8888, VTFPP_FORMAT_ACCESSOR(r) VTFPP_FORMAT_ACCESSOR(g) VTFPP_FORMAT_ACCESSOR(b) VTFPP_FORMAT_ACCESSOR(a)) |
| | VTFPP_FORMAT (RGB888, VTFPP_FORMAT_ACCESSOR(r) VTFPP_FORMAT_ACCESSOR(g) VTFPP_FORMAT_ACCESSOR(b)) |
| | VTFPP_FORMAT (BGR888, VTFPP_FORMAT_ACCESSOR(r) VTFPP_FORMAT_ACCESSOR(g) VTFPP_FORMAT_ACCESSOR(b)) |
| | VTFPP_FORMAT (RGB565, VTFPP_FORMAT_ACCESSOR_BSWAP(RGB565, r) VTFPP_FORMAT_ACCESSOR_BSWAP(RGB565, g) VTFPP_FORMAT_ACCESSOR_BSWAP(RGB565, b)) |
| | VTFPP_FORMAT (I8, VTFPP_FORMAT_ACCESSOR(i)) |
| | VTFPP_FORMAT (IA88, VTFPP_FORMAT_ACCESSOR(i) VTFPP_FORMAT_ACCESSOR(a)) |
| | VTFPP_FORMAT (P8, VTFPP_FORMAT_ACCESSOR(p)) |
| | VTFPP_FORMAT (A8, VTFPP_FORMAT_ACCESSOR(a)) |
| | VTFPP_FORMAT (RGB888_BLUESCREEN, VTFPP_FORMAT_ACCESSOR(r) VTFPP_FORMAT_ACCESSOR(g) VTFPP_FORMAT_ACCESSOR(b)) |
| | VTFPP_FORMAT (BGR888_BLUESCREEN, VTFPP_FORMAT_ACCESSOR(r) VTFPP_FORMAT_ACCESSOR(g) VTFPP_FORMAT_ACCESSOR(b)) |
| | VTFPP_FORMAT (ARGB8888, VTFPP_FORMAT_ACCESSOR(r) VTFPP_FORMAT_ACCESSOR(g) VTFPP_FORMAT_ACCESSOR(b) VTFPP_FORMAT_ACCESSOR(a)) |
| | VTFPP_FORMAT (BGRA8888, VTFPP_FORMAT_ACCESSOR(r) VTFPP_FORMAT_ACCESSOR(g) VTFPP_FORMAT_ACCESSOR(b) VTFPP_FORMAT_ACCESSOR(a)) |
| | VTFPP_FORMAT (BGRX8888, VTFPP_FORMAT_ACCESSOR(r) VTFPP_FORMAT_ACCESSOR(g) VTFPP_FORMAT_ACCESSOR(b) VTFPP_FORMAT_ACCESSOR(x)) |
| | VTFPP_FORMAT (BGR565, VTFPP_FORMAT_ACCESSOR_BSWAP(BGR565, r) VTFPP_FORMAT_ACCESSOR_BSWAP(BGR565, g) VTFPP_FORMAT_ACCESSOR_BSWAP(BGR565, b)) |
| | VTFPP_FORMAT (BGRX5551, VTFPP_FORMAT_ACCESSOR_BSWAP(BGRX5551, r) VTFPP_FORMAT_ACCESSOR_BSWAP(BGRX5551, g) VTFPP_FORMAT_ACCESSOR_BSWAP(BGRX5551, b) VTFPP_FORMAT_ACCESSOR_BSWAP(BGRX5551, x)) |
| | VTFPP_FORMAT (BGRA4444, VTFPP_FORMAT_ACCESSOR_BSWAP(BGRA4444, r) VTFPP_FORMAT_ACCESSOR_BSWAP(BGRA4444, g) VTFPP_FORMAT_ACCESSOR_BSWAP(BGRA4444, b) VTFPP_FORMAT_ACCESSOR_BSWAP(BGRA4444, a)) |
| | VTFPP_FORMAT (BGRA5551, VTFPP_FORMAT_ACCESSOR_BSWAP(BGRA5551, r) VTFPP_FORMAT_ACCESSOR_BSWAP(BGRA5551, g) VTFPP_FORMAT_ACCESSOR_BSWAP(BGRA5551, b) VTFPP_FORMAT_ACCESSOR_BSWAP(BGRA5551, a)) |
| | VTFPP_FORMAT (UV88, VTFPP_FORMAT_ACCESSOR(u) VTFPP_FORMAT_ACCESSOR(v)) |
| | VTFPP_FORMAT (UVWQ8888, VTFPP_FORMAT_ACCESSOR(u) VTFPP_FORMAT_ACCESSOR(v) VTFPP_FORMAT_ACCESSOR(w) VTFPP_FORMAT_ACCESSOR(q)) |
| | VTFPP_FORMAT (RGBA16161616F, VTFPP_FORMAT_ACCESSOR(r) VTFPP_FORMAT_ACCESSOR(g) VTFPP_FORMAT_ACCESSOR(b) VTFPP_FORMAT_ACCESSOR(a)) |
| | VTFPP_FORMAT (RGBA16161616, VTFPP_FORMAT_ACCESSOR(r) VTFPP_FORMAT_ACCESSOR(g) VTFPP_FORMAT_ACCESSOR(b) VTFPP_FORMAT_ACCESSOR(a)) |
| | VTFPP_FORMAT (UVLX8888, VTFPP_FORMAT_ACCESSOR(u) VTFPP_FORMAT_ACCESSOR(v) VTFPP_FORMAT_ACCESSOR(l) VTFPP_FORMAT_ACCESSOR(x)) |
| | VTFPP_FORMAT (R32F, VTFPP_FORMAT_ACCESSOR(r)) |
| | VTFPP_FORMAT (RGB323232F, VTFPP_FORMAT_ACCESSOR(r) VTFPP_FORMAT_ACCESSOR(g) VTFPP_FORMAT_ACCESSOR(b)) |
| | VTFPP_FORMAT (RGBA32323232F, VTFPP_FORMAT_ACCESSOR(r) VTFPP_FORMAT_ACCESSOR(g) VTFPP_FORMAT_ACCESSOR(b) VTFPP_FORMAT_ACCESSOR(a)) |
| | VTFPP_FORMAT (RG1616F, VTFPP_FORMAT_ACCESSOR(r) VTFPP_FORMAT_ACCESSOR(g)) |
| | VTFPP_FORMAT (RG3232F, VTFPP_FORMAT_ACCESSOR(r) VTFPP_FORMAT_ACCESSOR(g)) |
| | VTFPP_FORMAT (RGBX8888, VTFPP_FORMAT_ACCESSOR(r) VTFPP_FORMAT_ACCESSOR(g) VTFPP_FORMAT_ACCESSOR(b) VTFPP_FORMAT_ACCESSOR(x)) |
| | VTFPP_FORMAT (RGBA1010102, VTFPP_FORMAT_ACCESSOR_BSWAP(RGBA1010102, r) VTFPP_FORMAT_ACCESSOR_BSWAP(RGBA1010102, g) VTFPP_FORMAT_ACCESSOR_BSWAP(RGBA1010102, b) VTFPP_FORMAT_ACCESSOR_BSWAP(RGBA1010102, a)) |
| | VTFPP_FORMAT (BGRA1010102, VTFPP_FORMAT_ACCESSOR_BSWAP(RGBA1010102, r) VTFPP_FORMAT_ACCESSOR_BSWAP(RGBA1010102, g) VTFPP_FORMAT_ACCESSOR_BSWAP(RGBA1010102, b) VTFPP_FORMAT_ACCESSOR_BSWAP(RGBA1010102, a)) |
| | VTFPP_FORMAT (R16F, VTFPP_FORMAT_ACCESSOR(r)) |
| | VTFPP_FORMAT (CONSOLE_BGRX8888_LINEAR, VTFPP_FORMAT_ACCESSOR(r) VTFPP_FORMAT_ACCESSOR(g) VTFPP_FORMAT_ACCESSOR(b) VTFPP_FORMAT_ACCESSOR(x)) |
| | VTFPP_FORMAT (CONSOLE_RGBA8888_LINEAR, VTFPP_FORMAT_ACCESSOR(r) VTFPP_FORMAT_ACCESSOR(g) VTFPP_FORMAT_ACCESSOR(b) VTFPP_FORMAT_ACCESSOR(a)) |
| | VTFPP_FORMAT (CONSOLE_ABGR8888_LINEAR, VTFPP_FORMAT_ACCESSOR(r) VTFPP_FORMAT_ACCESSOR(g) VTFPP_FORMAT_ACCESSOR(b) VTFPP_FORMAT_ACCESSOR(a)) |
| | VTFPP_FORMAT (CONSOLE_ARGB8888_LINEAR, VTFPP_FORMAT_ACCESSOR(r) VTFPP_FORMAT_ACCESSOR(g) VTFPP_FORMAT_ACCESSOR(b) VTFPP_FORMAT_ACCESSOR(a)) |
| | VTFPP_FORMAT (CONSOLE_BGRA8888_LINEAR, VTFPP_FORMAT_ACCESSOR(r) VTFPP_FORMAT_ACCESSOR(g) VTFPP_FORMAT_ACCESSOR(b) VTFPP_FORMAT_ACCESSOR(a)) |
| | VTFPP_FORMAT (CONSOLE_RGB888_LINEAR, VTFPP_FORMAT_ACCESSOR(r) VTFPP_FORMAT_ACCESSOR(g) VTFPP_FORMAT_ACCESSOR(b)) |
| | VTFPP_FORMAT (CONSOLE_BGR888_LINEAR, VTFPP_FORMAT_ACCESSOR(r) VTFPP_FORMAT_ACCESSOR(g) VTFPP_FORMAT_ACCESSOR(b)) |
| | VTFPP_FORMAT (CONSOLE_BGRX5551_LINEAR, VTFPP_FORMAT_ACCESSOR_BSWAP(CONSOLE_BGRX5551_LINEAR, r) VTFPP_FORMAT_ACCESSOR_BSWAP(CONSOLE_BGRX5551_LINEAR, g) VTFPP_FORMAT_ACCESSOR_BSWAP(CONSOLE_BGRX5551_LINEAR, b) VTFPP_FORMAT_ACCESSOR_BSWAP(CONSOLE_BGRX5551_LINEAR, x)) |
| | VTFPP_FORMAT (CONSOLE_I8_LINEAR, VTFPP_FORMAT_ACCESSOR(i)) |
| | VTFPP_FORMAT (CONSOLE_RGBA16161616_LINEAR, VTFPP_FORMAT_ACCESSOR(r) VTFPP_FORMAT_ACCESSOR(g) VTFPP_FORMAT_ACCESSOR(b) VTFPP_FORMAT_ACCESSOR(a)) |
| | VTFPP_FORMAT (CONSOLE_BGRX8888_LE, VTFPP_FORMAT_ACCESSOR(r) VTFPP_FORMAT_ACCESSOR(g) VTFPP_FORMAT_ACCESSOR(b) VTFPP_FORMAT_ACCESSOR(x)) |
| | VTFPP_FORMAT (CONSOLE_BGRA8888_LE, VTFPP_FORMAT_ACCESSOR(r) VTFPP_FORMAT_ACCESSOR(g) VTFPP_FORMAT_ACCESSOR(b) VTFPP_FORMAT_ACCESSOR(a)) |
| | VTFPP_FORMAT (STRATA_R8, VTFPP_FORMAT_ACCESSOR(r)) |
| template<PixelType P, typename C> |
| std::vector< std::byte > | extractChannelFromImageData (std::span< const std::byte > imageData, C(P::*channel)() const) |
| | Extracts a single channel from the given image data.
|
template<PixelType P, typename C>
| std::vector< std::byte > vtfpp::ImagePixel::extractChannelFromImageData |
( |
std::span< const std::byte > | imageData, |
|
|
C(P::* | channel )() const ) |
|
nodiscard |
Extracts a single channel from the given image data.
May have unexpected behavior if called on formats that use bitfields like BGRA5551! Data is packed according to pixel channel C++ type size (e.g. in the case of BGRA5551's green channel, it'll be 2 bytes per green value despite only 5 bits being used in the original data)
Definition at line 321 of file ImagePixel.h.