// Imgproc.resize(src, rowImage, new Size(16, config.leds.rows), 0, 0, interpolation);
}
+ private Color wrappedGetLedColor(ListPosition listPosition, int xy) {
+ Color c = getLedColor(listPosition, xy);
+ double[] hsv = c.toHSV();
+ return Color.hsv(hsv[0], 1, 1);
+ }
+
private Color getLedColor(ListPosition listPosition, int xy) {
// TODO: maybe use highest value from pixels? 100 % from 1st, 66 % from 2nd, 33 % from 3rd. colors might be strange.
switch (listPosition) {
public LedFrame getLedFrame() {
LedFrame frame = LedFrame.from(config);
int led = 0;
- for (int i = 0; i < config.leds.cols; i++) frame.setLedColor(led++, getLedColor(ListPosition.BOTTOM, i));
- for (int i = config.leds.rows - 1; i >= 0; i--) frame.setLedColor(led++, getLedColor(ListPosition.RIGHT, i));
- for (int i = config.leds.cols - 1; i >= 0; i--) frame.setLedColor(led++, getLedColor(ListPosition.TOP, i));
- for (int i = 0; i < config.leds.rows; i++) frame.setLedColor(led++, getLedColor(ListPosition.LEFT, i));
+ for (int i = 0; i < config.leds.cols; i++) frame.setLedColor(led++, wrappedGetLedColor(ListPosition.BOTTOM, i));
+ for (int i = config.leds.rows - 1; i >= 0; i--) frame.setLedColor(led++, wrappedGetLedColor(ListPosition.RIGHT, i));
+ for (int i = config.leds.cols - 1; i >= 0; i--) frame.setLedColor(led++, wrappedGetLedColor(ListPosition.TOP, i));
+ for (int i = 0; i < config.leds.rows; i++) frame.setLedColor(led++, wrappedGetLedColor(ListPosition.LEFT, i));
return frame;
}
}