Я хочу генерировать/рандомизировать цвет, а затем я хочу второй, который близок к сгенерированному. Это, как я генерировать цвета FTM:Android генерировать небольшие различия цвета RGB
Paint colors = new Paint();
int red = ran.nextInt(256-100)+100;
int green = ran.nextInt(256-100)+100;
int blue = ran.nextInt(256-100)+100;
colors.setARGB(255, red, green, blue);
, а позже 2-й цвет, который я генерировать так:
switch (ran.nextInt(3)) {
case 0:
red = red - (40 - level);
break;
case 1:
green = green - (40 - level);
break;
default:
blue = blue - (40-level);
break;
}
Проблема заключается в том, что она работает в некоторых случаях и иногда это может дать мне 2-й цвет, который выключен милями. Есть ли другой, лучший и простой способ генерации этих цветов?
уш
есть другие цветовые пространства, такие как hsv, которые лучше подходят для манипуляции для создания «похожих» цветов. –
@MarcB +1 ... и tinyColor.js легко преобразуются между rgb и hsl: http://bgrins.github.io/TinyColor/docs/tinycolor.html – markE