Вычислите цвет исчезают

Если вас интересует только отправка в базу данных, вам не нужно для извлечения последовательности nextval. Просто используйте его в своем INSERT утверждении:

CREATE TABLE vaibhav (
    id NUMBER PRIMARY KEY,
    data VARCHAR(100)
);
CREATE SEQUENCE vaibhav_seq;

INSERT INTO vaibhav(id, data)
    VALUES (vaibhav_seq.nextval, 'foo');
INSERT INTO vaibhav(id, data)
    VALUES (vaibhav_seq.nextval, 'bar');

SELECT id, data FROM vaibhav;

  ID DATA
---- ----------
   1 foo
   2 bar
11
задан TT. 26 November 2008 в 02:38
поделиться

5 ответов

Разделите каждый цвет на его компоненты RGB и затем вычислите отдельные требуемые шаги.

oldRed = 120;
newRed = 200;
steps = 10;
redStepAmount = (newRed - oldRed) / steps;

currentRed = oldRed;
for (i = 0; i < steps; i++) {
   currentRed += redStepAmount;
}

Очевидно, расширьте это для зеленого и синего цвета.

21
ответ дан 3 December 2019 в 01:21
поделиться

Существует два хороших связанных вопроса, которые необходимо также рассмотреть:

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

Удачи!

- Adam

11
ответ дан 3 December 2019 в 01:21
поделиться

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

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

4
ответ дан 3 December 2019 в 01:21
поделиться

quesiton - то, какое преобразование Вы хотите произойти? Если Вы транспонируете в цветовое пространство HSV и данный

FF0000 и 00FF00

Это перейдет от красного до желтого к зеленому.

Однако, если Вы определяете "черный" или некоторый другой оттенок, как являющийся средней точкой смешения, необходимо заштриховать к тому цветному первому ff0000-> 000000-> 00ff00 или через белый: ff0000-> ffffff-> 00ff00.

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

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

Самой легкой вещью сделать является линейная интерполяция между компонентами цвета (см. ответ nickf). Просто знайте, что глаз очень нелинеен, таким образом, будет не обязательно выглядеть, что Вы делаете даже шаги. Некоторые цветовые пространства пытаются обратиться к этому (CIE, возможно?), таким образом, Вы могли бы хотеть преобразовать в другое цветовое пространство сначала, интерполируют, затем преобразовывают назад к RGB или независимо от того, что Вы используете.

1
ответ дан 3 December 2019 в 01:21
поделиться
Другие вопросы по тегам:

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