Здравствуйте, гость ( Вход | Регистрация )
|
wiz29 |
10.8.2010, 12:16
Сообщение
#1
|
![]() Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 600 Регистрация: 7.7.2010 Из: Санкт-Петербург Пользователь №: 1866 Спасибо сказали: 94 раз(а) Репутация: 12
|
Работал ли кто-нибудь с 8bit QImage. Возникла проблема при рисовании в QImage 8bit через QPainter. Почему-то невозможно его испльзовать. Сталкивался ли кто нибудь с данной проблемой?
|
|
|
|
![]() |
|
Алексей1153 |
10.8.2010, 12:17
Сообщение
#2
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2946 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34
|
wiz29, код покажи
Сообщение отредактировал Алексей1153 - 10.8.2010, 12:18 |
|
|
|
|
wiz29 |
10.8.2010, 12:37
Сообщение
#3
|
![]() Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 600 Регистрация: 7.7.2010 Из: Санкт-Петербург Пользователь №: 1866 Спасибо сказали: 94 раз(а) Репутация: 12
|
QImage img(800, 600, QImage::Format_Indexed8);
QPainter p(&img); p.DrawLine(...); ...... Функции паинтера не работают для такого формата. |
|
|
|
|
BRE |
10.8.2010, 12:38
Сообщение
#4
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: 44
|
Цитата(wiz29 @ 10.8.2010, 13:16) Link Работал ли кто-нибудь с 8bit QImage. Возникла проблема при рисовании в QImage 8bit через QPainter. Почему-то невозможно его испльзовать. Сталкивался ли кто нибудь с данной проблемой? Это палитровый режим, для работы нужно настроить палитру (смотри QImage::setColor, QImage::setColorTable). 8bit значения это индексы в этой таблице-палитре. Хотя все это описано в документации. |
|
|
|
|
wiz29 |
10.8.2010, 12:44
Сообщение
#5
|
![]() Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 600 Регистрация: 7.7.2010 Из: Санкт-Петербург Пользователь №: 1866 Спасибо сказали: 94 раз(а) Репутация: 12
|
Да это понятно, можно настроить палитру но QPainter не работает при отрисовке. в документации в качестве примера отрисовки на таком изображении прделагают использовать setPixel с координатами и значением цвета пиксела...
Получается что если хочешь нарисовать линию или примитив то рисуй ручками по пиксельно, это бред..... |
|
|
|
|
BRE |
10.8.2010, 12:49
Сообщение
#6
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: 44
|
Цитата(wiz29 @ 10.8.2010, 13:44) Link Да это понятно, можно настроить палитру но QPainter не работает при отрисовке. в документации в качестве примера отрисовки на таком изображении прделагают использовать setPixel с координатами и значением цвета пиксела... Получается что если хочешь нарисовать линию или примитив то рисуй ручками по пиксельно, это бред..... Попробуй рисовать на картинке с RGB-форматом, а поток конвертировать ее в Index-формат (QImage::convertToFormat). |
|
|
|
|
Litkevich Yuriy |
10.8.2010, 14:12
Сообщение
#7
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94
|
Цитата(wiz29 @ 10.8.2010, 16:16) Link 8bit QImage А это что такое?Если под этим подразумевается QImage::Format_Indexed8, то в асистенте чётко сказано Цитата Drawing into a QImage with Indexed8 format is not supported.
|
|
|
|
![]() ![]() ![]() |
|
Текстовая версия | Сейчас: 8.12.2025, 21:31 |