Название: инструмент "пипетка" для выбора цвета Отправлено: qwerky от Сентябрь 28, 2009, 18:54 подскажите пожалуйста как лучше реализовать сей инструмент.
спасибо. Название: Re: инструмент "пипетка" для выбора цвета Отправлено: lit-uriy от Сентябрь 28, 2009, 19:24 может подойдёт готовый?
QwwHueSatPicker или QwwHueSatRadialPicker (http://www.wysota.eu.org/wwwidgets/) Color Triangle (http://qt.nokia.com/products/appdev/add-on-products/catalog/4/Widgets/qtcolortriangle/) Название: Re: инструмент "пипетка" для выбора цвета Отправлено: qwerky от Сентябрь 28, 2009, 21:11 нет, для выбора подходит и стандартный qcolordialog, нужен выбор цвета из конкретной области экрана.
Название: Re: инструмент "пипетка" для выбора цвета Отправлено: lit-uriy от Сентябрь 28, 2009, 22:02 >>нужен выбор цвета из конкретной области экрана
Наверное из произвольной. посмотри инструмент pixeltool, входит в комплект Qt, его бинарь лежит в каталоге %QTDIR%/bin он позволяет смотреть пиксели в любом месте экрана, ну а как их цвет получить, я думаю сам разберёшся Название: Re: инструмент "пипетка" для выбора цвета Отправлено: IGHOR от Октябрь 07, 2009, 21:54 Писал такую приблуду, оказывается в примере pixeltool если доставать цвет пикселя при каждом mouseMoveEvent() через grabWindow() то получается очень тормознутый алгоритм.
Предлагаю при нажатие на пипетку сохранять картинку: QIcon iconCache=QPixmap::grabWindow(QApplication::desktop()->winId(),0,0,QApplication::desktop()->width(),QApplication::desktop()->height()).toImage(); При mouseMoveEvent() доставать на лету пиксель по адресу из забуферированной картинки QColor(iconCache.pixel(QCursor::pos())) По mouseReleaseEvent() разумееться убить картинку с кеша, занулить Получаеться очень скоросная реализация пипетки! Примечание: можно использовать для захвата картинки с рабочего стола такое: QIcon iconCache=QPixmap::grabWindow(QApplication::desktop()->winId()); Но не указав ширину и высоту через параметры получаем в результат захваченную картинку только с одного (примари) монитора, разумеется если их больше одного, а в предыдущем варианте получаем все мониторы в одной картинке, что и нужно для полноценной пипетки. Название: Re: инструмент "пипетка" для выбора цвета Отправлено: SASA от Октябрь 09, 2009, 16:32 Я граблю по одному пикселю. Тормозов не замечал.
Код: QPoint pos = m_view->mapFromGlobal(QCursor::pos()); |