Гугол молчит, ничего мне говорить не хочет.. Или я разучился правильно гуглить. Вылезает какой-то бред на пхытоне, из которого ничего путного понять невозможно...
Где найти нормальные формулы для красивых палитр? Вот пример палитры, которую я использовал в fitsview для раскрашивания превьюшек фитсов при открывании файлов:
static void palette_BR(double gray, uint8_t *rgb){
int i = (int)(gray * 4.);
double x = 4.*gray - (double)i;
uint8_t r = 0, g = 0, b = 0;
switch(i){
case 0:
g = (uint8_t)(255. * x);
b = 255;
break;
case 1:
g = 255;
b = (uint8_t)(255. * (1. - x));
break;
case 2:
r = (uint8_t)(255. * x);
g = 255;
break;
case 3:
r = 255;
g = (uint8_t)(255. * (1. - x));
break;
default:
r = 255;
}
rgb[0] = r;
rgb[1] = g;
rgb[2] = b;
}
А вот так выглядит тупая "серая" палитра:
static void palette_gray(double gray, uint8_t *rgb){
rgb[0] = rgb[1] = rgb[2] = (uint8_t)(255.*gray);
}
Хочу еще штук пять популярных в библиотеку добавить.
Вот какие палитры пока у меня получились:




Journal information