Russian Qt Forum
Ноябрь 26, 2024, 18:49
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Вопросы новичков
>
QColor
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: QColor (Прочитано 3422 раз)
Leopard256
Гость
QColor
«
:
Октябрь 09, 2013, 08:09 »
пытаюсь получить цвет пикселя:
QImage img = m_Image.toImage();
QColor cur_color = QColor(img.pixel(x,y));
вроде все правильно, но получаю:
+ cur_color [Rgb] [r = 0x8383, g = 0xdddd, b = 0xdede] (...) QColor
в img картинка правильная, координаты x,y не выходят за пределы.
Что это может быть и как исправить?
Записан
Old
Джедай : наставник для всех
Offline
Сообщений: 4350
Re: QColor
«
Ответ #1 :
Октябрь 09, 2013, 08:14 »
Попробуйте использовать:
QColor QColor::fromRgb(QRgb rgb) [static]
Записан
Leopard256
Гость
Re: QColor
«
Ответ #2 :
Октябрь 09, 2013, 08:17 »
тоже самое получаю
Записан
Old
Джедай : наставник для всех
Offline
Сообщений: 4350
Re: QColor
«
Ответ #3 :
Октябрь 09, 2013, 08:18 »
А что это за картинка, в каком формате она храниться и как получается?
Записан
Leopard256
Гость
Re: QColor
«
Ответ #4 :
Октябрь 09, 2013, 08:21 »
скриншот с экрана
если делать:
m_Image.save("123.jpg");
сохраняется правильное изображение
Записан
Old
Джедай : наставник для всех
Offline
Сообщений: 4350
Re: QColor
«
Ответ #5 :
Октябрь 09, 2013, 08:23 »
Цитата: Leopard256 от Октябрь 09, 2013, 08:21
сохраняется правильное изображение
А если img сохранить, что получиться?
Записан
Leopard256
Гость
Re: QColor
«
Ответ #6 :
Октябрь 09, 2013, 08:28 »
не сохраняется, создает файл 1*1 пиксель
формат img QImage::Format_RGB32
img ведь создается, значит m_pImage.toImage() проходит нормально?
«
Последнее редактирование: Октябрь 09, 2013, 08:47 от Leopard256
»
Записан
Old
Джедай : наставник для всех
Offline
Сообщений: 4350
Re: QColor
«
Ответ #7 :
Октябрь 09, 2013, 08:54 »
Цитата: Leopard256 от Октябрь 09, 2013, 08:28
img ведь создается, значит m_pImage.toImage() проходит нормально?
Не очень нормально, если
Цитата: Leopard256 от Октябрь 09, 2013, 08:28
не сохраняется, создает файл 1*1 пиксель
Проверяйте полученный имедж на null с помощью:
bool QImage::isNull () const
Если QPixmap::toImage не может конвертировать картинку она возвращает пустой image.
«
Последнее редактирование: Октябрь 09, 2013, 09:04 от Old
»
Записан
Leopard256
Гость
Re: QColor
«
Ответ #8 :
Октябрь 09, 2013, 09:15 »
1)почему значения QColor отображаются в таком виде?
cur_color [Rgb] [r = 0x8383, g = 0xdddd, b = 0xdede] (...) QColor
хотя int отображается в десятичной форме, можно это исправить? (Microsoft Visual C++ 2010)
реальные значения цвета в QColor r = 0x83, g = 0xdd, b = 0xde
2) проблема с конвертацией как ни странно решилась самопроизвольно.
3) почему не компилируется:
m_pix = m_pImage.copy(0, 0, iWidth, iHeight);
...
HBITMAP pDestPicture = ::CreateCompatibleBitmap(hdcSrc, iWidth, iHeight);
HGDIOBJ oldOBJ = ::SelectObject(pDest, pDestPicture);
::BitBlt(pDest, 0, 0, iWidth, iHeight, hdcSrc, 0, 0, SRCCOPY);
QPixmap tmp = QPixmap::fromWinHBITMAP(pDestPicture);
m_pImage = tmp;
QPixmap pTMP = m_pImage.copy(0, 0, iWidth, iHeight);
m_pix = pTMP;
...
error LNK2019: unresolved external symbol "__declspec(dllimport) public: class QPixmap & __thiscall QPixmap::operator=(class QPixmap &&)" (__imp_??4QPixmap@@QAEAAV0@$$QAV0@@Z) referenced in function "public: void __thiscall SSS::getPic(void)" (?getPic@SSS@@QAEXXZ)
«
Последнее редактирование: Октябрь 09, 2013, 09:34 от Leopard256
»
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...