|
7 / 7 / 2
Регистрация: 24.02.2013
Сообщений: 90
|
||||||
GetPixel(), BitMap()11.11.2017, 16:50. Показов 3910. Ответов 10
Метки нет (Все метки)
Всем привет!
Столкнулся с проблемой, что "GetPixel()" работает медленно на Windows 7 и выше, если стоит стиль оформления "Aero". Покопался на форуме и нашел отличную тему, где человек выложил свою версию "GetPixel()". В ней есть привязка к конкретному окну и работает она гораздо быстрее, но есть две проблемы: 1) При получении цвета пикселя, Red и Blue меняются местами. Но это проблема легко решаема, поэтому она меня не интересует. 2) Описать эту проблему легче скриншотом, чем словами: Здесь я брал координаты цвета пикселя из окна "CodeBlocks" и отрисовывал его. Проблема в том, что до какого-то определенного момента цвет пикселя определяется нормально, а потом что-то происходит (не знаю что) и функция перестает нормально работать (черные полосы). Сначала подумал, что память забивается из-за очень частого использования, но по идее, она очищается функцией "ReleaseDC", поэтому такой вариант я откинул. А больше вариантов у меня и нет. Из-за чего это может происходить? Помогите, пожалуйста, решить данную проблему. Выкладываю код этой самодельной функции "GetPixel":
0
|
||||||
| 11.11.2017, 16:50 | |
|
Ответы с готовыми решениями:
10
Получение фото с веб камеры, занесение его в Bitmap и преобразование Bitmap в массив GetPixel GetPixel() и SetWindowText() |
|
1130 / 789 / 232
Регистрация: 12.04.2010
Сообщений: 2,012
|
|||||
| 11.11.2017, 20:33 | |||||
Добавлено через 4 минуты RGB ( red, green, blue )
1
|
|||||
|
7 / 7 / 2
Регистрация: 24.02.2013
Сообщений: 90
|
|||||||||||
| 12.11.2017, 05:26 [ТС] | |||||||||||
|
Alex5, спасибо, попробую. Думаю, что поможет. Отпишусь, как попробую.
А насчет
Добавлено через 1 час 39 минут Добавил "DeleteDC" и "DeleteObject" и ничего не изменилось. Вообще ничего! Вот код:
0
|
|||||||||||
|
1130 / 789 / 232
Регистрация: 12.04.2010
Сообщений: 2,012
|
|||||||
| 12.11.2017, 13:13 | |||||||
|
Как будет работать такая версия? Не случится ли, что и здесь будут возникать черные полосы?
1
|
|||||||
|
1130 / 789 / 232
Регистрация: 12.04.2010
Сообщений: 2,012
|
||||||
| 12.11.2017, 13:43 | ||||||
|
Добавим в MyGetPixel из сообщения 1 :
После добавления DeleteObject, DeleteDC исключений в MyGetPixel не возникает.
1
|
||||||
|
Фриланс Pascal/Delphi etc
67 / 73 / 16
Регистрация: 25.11.2016
Сообщений: 263
|
|
| 12.11.2017, 15:47 | |
|
Попробуйте CreateDIBSection() использовать или получать GetPixel() для hTmpDC.
0
|
|
|
7 / 7 / 2
Регистрация: 24.02.2013
Сообщений: 90
|
|
| 12.11.2017, 16:19 [ТС] | |
|
Alex5, и правда проблема была в рисование, сам код работает хорошо. Даже не думал об этом, спасибо огромное!!
0
|
|
|
|
||||||||||||||||
| 12.11.2017, 22:41 | ||||||||||||||||
|
Думaю, эти строчку нужно поменять местами:
1
|
||||||||||||||||
|
7 / 7 / 2
Регистрация: 24.02.2013
Сообщений: 90
|
|||||||||||
| 13.11.2017, 22:22 [ТС] | |||||||||||
|
Alikberov, исправлю. Спасибо!
Добавлено через 21 час 29 минут Решил оптимизировать этот код и дошел до этого момента:
Как достать оттуда цвет пикселя? Весь день просидел, понял, что надо использовать:
1
|
|||||||||||
|
Фриланс Pascal/Delphi etc
67 / 73 / 16
Регистрация: 25.11.2016
Сообщений: 263
|
||||||
| 15.11.2017, 13:14 | ||||||
|
Как-то так?
1
|
||||||
|
7 / 7 / 2
Регистрация: 24.02.2013
Сообщений: 90
|
|
| 15.11.2017, 16:31 [ТС] | |
|
ILinker, спасибо! Уже разобрался.
0
|
|
| 15.11.2017, 16:31 | |
|
Помогаю со студенческими работами здесь
11
GetPixel() работает нереально медленно на Windows 7 GetPixel неправильно определяет цвет пикселя
Что передавать в качестве параметра hdc функции "GetPixel" BITMAP Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
|
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма).
На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
|
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ *
Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам
Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|