653 / 466 / 183
Регистрация: 23.04.2019
Сообщений: 1,987
1

Оптимизировать

09.11.2019, 22:56. Показов 460. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Цель:
1)по ctrl+ЛКМ получить цвет под мышкой
2)по alt+ctrl найти координат с таким цветом
Проблема:
Оно выполняет его НУ ОООООООЧЕНЬ долго
Код:
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#include <iostream>
#include <Windows.h>
 
void click(int x, int y, POINT _mouse_position)
{
    SetCursorPos(x, y);
    mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
    mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
    SetCursorPos(_mouse_position.x, _mouse_position.y);
}
void GetDesktopResolution(int& horizontal, int& vertical)
{
    RECT desktop;
    const HWND hDesktop = GetDesktopWindow();
    GetWindowRect(hDesktop, &desktop);
    horizontal = desktop.right;
    vertical = desktop.bottom;
}
int main()
{
    
    POINT mouse_pos = POINT();
    COLORREF color = RGB(0,0,0);
    int weight;
    int height;
    GetDesktopResolution(weight, height);
 
    
    while (1) {
        if (GetAsyncKeyState(VK_LBUTTON)&&GetAsyncKeyState(VK_CONTROL))
        {
            GetCursorPos(&mouse_pos);
            HDC dc = GetDC(nullptr);
            color = GetPixel(dc, mouse_pos.x, mouse_pos.y);
            ReleaseDC(nullptr, dc);
            std::cout << "R: " << int(GetRValue(color)) << " G:" << int(GetGValue(color)) 
                      << " B:" << int(GetBValue(color)) << " Position: x = " << mouse_pos.x 
                      << ", y =" << mouse_pos.y << std::endl;
            while (GetAsyncKeyState(VK_LBUTTON)) { Sleep(50); }
        }
        else if (GetAsyncKeyState(VK_CONTROL) && GetAsyncKeyState(VK_SHIFT))
        {
            HDC dc = GetDC(nullptr);
            for (int y = 0; y < height; y++)
            {
                for (int x = 0; x < weight; x++)
                {
                    if (color == GetPixel(dc, x, y))
                    {
                        std::cout << "Match found...\n\tAt x = " 
                            << mouse_pos.x
                            << ", y = " << mouse_pos.y 
                            <<  "R: "   << int(GetRValue(color)) 
                            << " G:"    << int(GetGValue(color))
                            << " B:"    << int(GetBValue(color));
                        system("cls");
                    }
                }
            }
            ReleaseDC(nullptr, dc);
        }
    }
}
0
Programming
Эксперт
9485 / 562 / 19
Регистрация: 12.04.2006
Сообщений: 11,671
Блог
09.11.2019, 22:56
Ответы с готовыми решениями:

Посмотрите, что можно оптимизировать в моем коде?
Сабж собственно. Проект для CodeBlocks.

Оптимизировать код
Для решения задачи : &quot;Given an array a that contains only numbers in the range from 1 to a.length,...

Оптимизировать функцию
Как можно оптимизировать (ускорить) следующий фрагмент кода? int F(int a, int b, int c) { if (a...

как оптимизировать
есть задача на рекурсию, решенная на двух языках программирования: Visual C++ и Visual C#. C++:...

0
09.11.2019, 22:56
cpp_developer
Эксперт
20123 / 5690 / 417
Регистрация: 09.04.2010
Сообщений: 12,546
Блог
09.11.2019, 22:56
Помогаю со студенческими работами здесь

Оптимизировать код
Первое число входного потока - количество чисел Дальше идут те самые числа Надо найти кол-во пар...

Оптимизировать функцию
Помогите оптимизировать функцию она работает правильно только очень медленно :cry: уже несколько...

Оптимизировать код
Добрый день Имеется функция записи строки, символы записываются через дефис ABC-1-2-3-4-5 и тд ...

Оптимизировать алгоритм
Приятель подкинул задачку: Получить новую матрицу В, элемент b которой равен наименьшему из...

Нужно оптимизировать
Есть задание, есть готовый код. Но он не проходит скоростной режим, нужно оптимизировать, помогите...

Оптимизировать код
Есть задача: Квадрат разбит на 4^k равновеликих квадратных клеток. Квадрат перегибается поочередно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

Блоги программистов
Обновление сайта www.historian.b­y
Reglage 05.01.2025
Обещал подвести итоги 2024 года для сайта. Однако начну с того, что изменилось за неделю. Добавил краткий урок по последовательности действий при анализе вредоносных файлов и значительно улучшил урок. . .
Как использовать GraphQL в C# с HotChocolate
Programming 05.01.2025
GraphQL — это современный подход к разработке API, который позволяет клиентам запрашивать только те данные, которые им необходимы. Это делает взаимодействие с API более гибким и эффективным по. . .
Модель полного двоичного суматора с помощью логических операций (python)
AlexSky-coder 04.01.2025
def binSum(x:list, y:list): s=^y] p=x and y for i in range(1,len(x)): s. append((x^y)^p) p=(x and y)or(p and (x or y)) return s x=list() y=list()
Это мы не проходили, это нам не задавали...(аси­­хронный счётчик с управляющим сигналом задержки).
Hrethgir 04.01.2025
Асинхронный счётчик на сумматорах (шестиразрядный по числу диодов на плате, но наверное разрядов будет больше - восемь или шестнадцать, а диоды на старшие), так как триггеры прошли тестирование и. . .
Руководство по созданию бота для Телеграм на Python
IT_Exp 04.01.2025
Боты для Телеграм представляют собой автоматизированные программы, которые выполняют различные задачи, взаимодействуя с пользователями через интерфейс мессенджера. В данной статье мы рассмотрим,. . .
Применение компонентов PrimeVue в Vue.js 3 на TypeScript
BasicMan 04.01.2025
Введение в PrimeVue и настройка окружения PrimeVue представляет собой мощную библиотеку компонентов пользовательского интерфейса для Vue. js 3, которая предоставляет разработчикам богатый набор. . .
Как стать Senior developer
cpp_developer 04.01.2025
В современной индустрии разработки программного обеспечения позиция Senior Developer представляет собой не просто следующую ступень карьерной лестницы, а качественно новый уровень профессионального. . .
Что известно о дате выхода Windows 12 и чего от нее ждать
IT_Exp 04.01.2025
В мире технологий постоянно происходят изменения, и операционные системы не являются исключением. Windows 11, выпущенная в октябре 2021 года, принесла множество инноваций и улучшений, но. . .
Что новенького в .NET Core 9
Programming 04.01.2025
Обзор ключевых изменений в . NET Core 9 Платформа . NET Core продолжает активно развиваться, и версия 9 представляет собой значительный шаг вперед в эволюции этой технологии. Новый релиз. . .
Инструкция по установке python3.13.1 в Debian 12
AlexSky-coder 03.01.2025
sudo apt update sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget. . .
Затестил триггеры. архив проекта прилагаю с GOA файлами в настройках архиватора проектов.
Hrethgir 03.01.2025
В этот раз нет закольцованности, потому что от неё только глюки, как я понял, логика не вырезанная. Триггеры очень быстрые если верить измерениям с помощью анализатора от Gowin. Есть ещё регистры,. . .
Python в помощь DevOps
IT_Exp 03.01.2025
Причины использования Python в работе DevOps Python стал неотъемлемой частью мира DevOps, и это не случайно. Этот язык программирования обладает множеством преимуществ, которые делают его. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru