Bilinear interpolation sample from a 2D CRGB grid.
Definition at line 17 of file sample.cpp.hpp.
17 {
18 int x0 =
static_cast<int>(
x);
19 int y0 =
static_cast<int>(
y);
20 int x1 =
min(x0 + 1,
static_cast<int>(
xyMap.getWidth()) - 1);
21 int y1 =
min(y0 + 1,
static_cast<int>(
xyMap.getHeight()) - 1);
22
23
24 x0 =
max(0,
min(x0,
static_cast<int>(
xyMap.getWidth()) - 1));
25 y0 =
max(0,
min(y0,
static_cast<int>(
xyMap.getHeight()) - 1));
26
29
30
31 CRGB c00 = grid[
xyMap.mapToIndex(x0, y0)];
32 CRGB c10 = grid[
xyMap.mapToIndex(x1, y0)];
33 CRGB c01 = grid[
xyMap.mapToIndex(x0, y1)];
34 CRGB c11 = grid[
xyMap.mapToIndex(x1, y1)];
35
36
40}
FL_DISABLE_WARNING_PUSH U constexpr common_type_t< T, U > min(T a, U b) FL_NOEXCEPT
constexpr common_type_t< T, U > max(T a, U b) FL_NOEXCEPT
static CRGB blend(const CRGB &p1, const CRGB &p2, fract8 amountOfP2) FL_NOEXCEPT
Representation of an 8-bit RGB pixel (Red, Green, Blue)
References fl::CRGB::blend(), max(), min(), x, xyMap, and y.
Referenced by sample().