Генерация цветовых палитр спектра

Как будто вы пытаетесь получить доступ к объекту, который является null. Рассмотрим ниже пример:

TypeA objA;

. В это время вы только что объявили этот объект, но не инициализировали или не инициализировали. И всякий раз, когда вы пытаетесь получить доступ к каким-либо свойствам или методам в нем, он будет генерировать NullPointerException, что имеет смысл.

См. Также этот пример:

String a = null;
System.out.println(a.toString()); // NullPointerException will be thrown
14
задан 4 revs, 3 users 94% 24 January 2014 в 09:46
поделиться

4 ответа

Можно создать такую палитру с помощью цветовой модели HSV. Это легко, после того как у Вас есть HSV к коду RGB на месте и игре вокруг с числами в течение нескольких минут.

Однако я думаю, что это не стоит того для добавления кода к проекту только для генерации небольшой палитры.

Это намного легче и меньше работы для извлечения палитр, в которых Вы нуждаетесь из файла и добавляете их как статический массив.

Photoshop позволяет нам, Вы редактируете палитры, и идет с очень хорошей палитрой черного тела как с предварительной установкой.

можно просто сохранить их как .act файл. Сам файл является просто простыми 256 цветами ГЎ 3-байтовый файл (порядок читается, зеленый, синий. 8 битов за канал).

3
ответ дан 1 December 2019 в 10:05
поделиться

Java имеет встроенный RGB к преобразованию HSB. Каждый раз, когда мне нужна быстрая панель, раскрашивает Java, я просто делаю это:

public Color[] generateColors(int n)
{
    Color[] cols = new Color[n];
    for(int i = 0; i < n; i++)
    {
        cols[i] = Color.getHSBColor((float) i / (float) n, 0.85f, 1.0f);
    }
    return cols;
}

Это - быстрый и грязный взлом (я настроил бы 'волшебные' числа для Вашего приложения), но для моего простого использования это генерирует хорошую яркую приятную панель.

21
ответ дан 1 December 2019 в 10:05
поделиться

Возможно, я не понимаю Вашего вопроса, но Вы не можете действительно генерировать истинный спектр излучения абсолютно черного тела от устройства вывода RGB. Ограниченный цветовой охват был бы проблемой, если ничто иное. Если все, что Вы хотите, является чем-то, что визуально напоминает спектр излучения абсолютно черного тела, это, вероятно, намного легче.

Как приближение, сползайте от (R, G, B) (0,0,0) к (255,0,0), затем к (255,255,0), затем к (255,255,255). Это дало бы Вам тускло-красный оранжевому, желтому, к белому переходу.

, Если Вы хотите что-то более научное, статью Wikipedia о , излучение черного тела имеет некоторые графики цвета по сравнению с температурой. После того как Вы выясняете координаты CIE, можно перевести координаты к RGB в любимом цветовом пространстве.

Редактирование: найденный некоторыми другими ссылками онлайн: , Каким цветом является Sun? , Какой цвет является абсолютно черным телом?

4
ответ дан 1 December 2019 в 10:05
поделиться

Это хороший способ создать цветной квадрат HSL в AS3.

/**
 * Generate a BitmapData HSL color square (n x n) of hue
 * At a low n dimension you get cool blocky color palettes (e.g. try n=10)
 */
function generateColorSquare(n:uint, hue:uint):BitmapData
            {
                var bd:BitmapData = new BitmapData(n, n, false, 0xFFFFFF);
                for (var i:uint=n*n; i > 0; i--)
                {
                    bd.setPixel(i % n, Math.floor(i / n),  HSBColor.convertHSBtoRGB(hue, i / (n*n), (1/n) * (i % n) ));
                }
                return bd;
            }
-1
ответ дан 1 December 2019 в 10:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: