Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Создание цветовой палитры, Структура RGBQUAD 
:(
    Опции темы
SubZero
Дата 15.8.2008, 10:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 49
Регистрация: 3.6.2008

Репутация: нет
Всего: нет



Работаю над программой с использованием цветовой палитры. Первоначальный вариант создания палитры (первый вариант программы писал не я):

Код

int CMyImage::MakePalette()
{
    RGBQUAD Palette[256];
    int i;

    for (i = 0; i< 128; i++)
    {
        Palette[i].rgbRed = 0;
        Palette[i].rgbGreen = 0;
        Palette[i].rgbBlue = 0;
    }
    
    for (i = 128; i< 192; i++)
    {
        Palette[i].rgbRed = (i-128)*4;
        Palette[i].rgbGreen = (i-128)*4;
        Palette[i].rgbBlue = 0;
    }

    for (i = 192; i< 256; i++)
    {
        Palette[i].rgbRed = 255;
        Palette[i].rgbGreen = 255;
        Palette[i].rgbBlue = 0;
    }
        
    SetColorTable(0,256,Palette);

    return 1;
}
 

Как можно догадаться формируется палитра из оттенков желтого цвета. Но вот беда - в самой темной части потеряны 128 градаций светлоты, да и в светлой части мы теряем плавность переходов. Подскажите, пожалуйста, как правильно организовать палитру из оттенков желтого цвета
PM MAIL   Вверх
mekhanikus
Дата 15.8.2008, 12:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вольноопределяющийся
*


Профиль
Группа: Участник
Сообщений: 186
Регистрация: 16.6.2008
Где: Спасск-Дальний

Репутация: нет
Всего: 1



Цитата(SubZero @ 15.8.2008,  10:27)
Как можно догадаться формируется палитра из оттенков желтого цвета. Но вот беда - в самой темной части потеряны 128 градаций светлоты, да и в светлой части мы теряем плавность переходов. Подскажите, пожалуйста, как правильно организовать палитру из оттенков желтого цвета

За что боролись, на то и напоролись.  smile 
Может попробовать так:

Код

int CMyImage::MakePalette()
{
    RGBQUAD Palette[256];
    int i;

    for (i = 0; i< 256; i++)
    {
        Palette[i].rgbRed = i;
        Palette[i].rgbGreen = i;
        Palette[i].rgbBlue = 0;
    }
        
    SetColorTable(0,256,Palette);

    return 1;
}
 

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0386 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.