Форум программистов, компьютерный форум CyberForum.ru

Проверить, попал ли пиксель RGB-цвета в диапазон нужных цветов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Пояснение структуры ORDER http://www.cyberforum.ru/cpp-beginners/thread1171911.html
Народ помогите разобраться, код мне помогли накалякать с этого форума вот и некоторые непонятные строки есть, и выдает ваще какую то фигню, скрин ниже #pragma hdrstop #pragma argsused #include <tchar.h> #include <stdio.h> #include <stdlib.h> #include <iostream.h> using namespace std;
C++ Сортировка массива структур Доброй ночи, написал программу создающую дин. мас массив структур и сортирующую по баллам и фамилии, но при объявлении list *a после компилятор ругается на переопределение: Ошибка 1 error C2377: a: переопределение; typedef нельзя перегрузить другим символом строка 21 Ошибка 2 error C2082: переопределение формального параметра "a" строка 51 Можно ли как - то сделать чтобы массив создавался в... http://www.cyberforum.ru/cpp-beginners/thread1171909.html
C++ Копирование и добавление строк на С++ через процедуру ассемблера
здравствуйте! я рылся много в инете, но не нашел именно функций копирования и добавления строк через процедуру ассемблера на С++ DOS, не могу понять как переделать под плюсы, чтобы работало
N-дерево C++
Дано N-дерево. Найти поддерево не включающее ни одну из заданных вершин. Вообще хотя бы "Дано N-дерево" - если вы кинете готовый код этой части, то поможете уже половине нашей группы:) Серьезно, везде информация по бинарным деревьям, информации по N-деревьям нету почти никакой. Как я понял N-дерево - это N-арное, оно же k-d дерево? Я правильно понимаю? В общем, за любую конкретную...
C++ Ошибка LNK2019 в многофайловом проекте http://www.cyberforum.ru/cpp-beginners/thread1171891.html
Смысл: Мне нужно создать абстрактный класс контейнер, на его основе конкретные классы, далее создать абстрактный класс итератор и для каждого класса контейнера свой итератор. (для простоты оставил только один конкретный контейнер и итератор) При компиляции выходит ошибка Ошибка 1 error LNK2019: ссылка на неразрешенный внешний символ "public: __thiscall Vector::Iterv::Iterv(int *)"...
C++ Запись строковой переменной в файл String z ; z= Edit5->Text.c_str(); FILE * ptrFile = fopen("1.txt", "r"); if (ptrFile != NULL) { fputs(z.c_str(), ptrFile); // записать строку в файл fclose (ptrFile); } подробнее

Показать сообщение отдельно
Nalik
39 / 25 / 9
Регистрация: 30.11.2012
Сообщений: 627

Проверить, попал ли пиксель RGB-цвета в диапазон нужных цветов - C++

11.05.2014, 05:26. Просмотров 376. Ответов 4
Метки (Все метки)

Есть программа, которая смотрит в координаты и сверяет цвет пикселя в этих координатах с диапазон цветов указанных в коде и если цвет пикселя в указанных координатах попадает в диапазон цветов, то об этом выводится сообщение.

Код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
void test (HWND Handle) 
{
    COLORREF minLimit = RGB(110,11,11); //диапазон минимального цвета
    COLORREF maxLimit = RGB(189,163,177); //диапазон максимального цвета
 
    HDC hdc=GetDC(Handle);
    COLORREF  d = GetPixel (hdc, 7-3, 58-25); // координаты определения пикселя
    if(GetRValue(d) >= GetRValue(minLimit) && GetRValue(d) <= GetRValue(maxLimit))
    {
        if(GetGValue(d) >= GetGValue(minLimit) && GetGValue(d) <= GetGValue(maxLimit))
        {
             if(GetBValue(d) >= GetBValue(minLimit) && GetBValue(d) <= GetBValue(maxLimit))
             {
                   cout <<"ЕДРЁНА ВОЖЬ!!!!  ПИКСЕЛЬ В НУЖНОМ ДИАПАЗОНЕ! КРУТО! :-)))))))))))))\n";
                   Sleep(1000);
                    //НАВЕРНОЕ ТУТ МНЕ НАДО ЧТО - ТО СДЕЛАТЬ...
             }
        }
    }
Сейчас появилась необходимость обрабатывать действия, если цвет пикселя не попал в диапазон цветов, но не знаю как это сделать правильно. Делаю так:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
void test (HWND Handle) 
{
    COLORREF minLimit = RGB(110,11,11); //диапазон минимального цвета
    COLORREF maxLimit = RGB(189,163,177); //диапазон максимального цвета
 
    HDC hdc=GetDC(Handle);
    COLORREF  d = GetPixel (hdc, 7-3, 58-25); // координаты определения пикселя
    if(GetRValue(d) >= GetRValue(minLimit) && GetRValue(d) <= GetRValue(maxLimit))
    {
        if(GetGValue(d) >= GetGValue(minLimit) && GetGValue(d) <= GetGValue(maxLimit))
        {
             if(GetBValue(d) >= GetBValue(minLimit) && GetBValue(d) <= GetBValue(maxLimit))
             {
                   cout <<"ЕДРЁНА ВОЖЬ!!!!  ПИКСЕЛЬ В НУЖНОМ ДИАПАЗОНЕ! КРУТО! :-)))))))))))))\n";
                   Sleep(1000);
                    //НАВЕРНОЕ ТУТ МНЕ НАДО ЧТО - ТО СДЕЛАТЬ...
             }
        }
    }
    else
    {
        cout <<"пиксель не в диапазоне\n";
    }
}
в этом случае сценарий сразу переходит на else, после выполнения
C++
1
 if(GetRValue(d) >= GetRValue(minLimit) && GetRValue(d) <= GetRValue(maxLimit))
т.е. получается RGB цвет проверяется не полностью, а только по "R"данным. Как сделать проверку и учесть все параметры RGB цвета?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 15:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru