Russian Qt Forum
Ноябрь 25, 2024, 07:51 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: Прошу совета по теме создания цветовой палитры  (Прочитано 15122 раз)
xokc
Птица говорун
*****
Offline Offline

Сообщений: 976



Просмотр профиля
« Ответ #15 : Ноябрь 29, 2012, 09:11 »

Я так понимаю нужно теперь как-то весь Pixmap попиксельно обходить и менять значение для Hue для каждого пикселя. Правильно?
Или так очень медленно будет?
На оба вопроса - да. Будет быстрее, если использовать SIMD инструкции процессора, но в рамках курсовика это уже видимо перебор. Попробуй - может устроит быстродействие и так.
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #16 : Ноябрь 29, 2012, 09:41 »

Я так понимаю нужно теперь как-то весь Pixmap попиксельно обходить и менять значение для Hue для каждого пикселя. Правильно?
Нет Улыбающийся Просто опять все рисуете но для второго кольца используете найденное значение hue.
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #17 : Ноябрь 29, 2012, 11:16 »

Или так очень медленно будет?
Да, так будет очень медленно, т.к. Pixmap хранится на стороне графической системы.
Для таких задач нужно из QPixmap-а получить QImage и уже всю обработку делать в нём.
Я бы вообще всё делал в QImage, т.к. QPixmap оправдан только для статичных изображений.
К тому же у нас есть double-buffer.
Записан

Qt 5.11/4.8.7 (X11/Win)
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #18 : Ноябрь 29, 2012, 12:08 »

Что-то заехали "явно не туда" Улыбающийся Какой QPixmap? Что Вы собираетесь в нем хранить если нужно перерисовывать при каждом клике пользователя? Зачем "обходить имедж" и что-то менять? Так получается куда больше расчетов чем при простой перерисовке всего. Откуда взялся миф о "медленности"? На пиксель: один atan2 + sqrt + setHsv - так это кошкины слезы, а не расчеты.

Выложите проект - там на-все про-все час, дольше обсуждаем
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #19 : Ноябрь 29, 2012, 12:16 »

Если вопрос ко мне, то я имел в виду не частный случай)
Записан

Qt 5.11/4.8.7 (X11/Win)
Hrundel
Гость
« Ответ #20 : Ноябрь 29, 2012, 13:29 »

ОК, тогда выкладываю проект,
а то так мы говорим очень не предметно, а в связи с тем, что мои знания в этой области крайне ограничены (я всего то на третьем семестре)
то мне вообще трудно принимать участие в обсуждении, когда все становится таким конкретным и неконкретным одновременно.

Вы, правда, сильно не критикуйте, собираю для начала так, чтобы работало. Код еще не причесан.
« Последнее редактирование: Ноябрь 30, 2012, 19:16 от Hrundel » Записан
Hrundel
Гость
« Ответ #21 : Ноябрь 29, 2012, 13:29 »

Второй файл из архива

Кстати, базовым цветом для второго кольца я взял красный потому, что его Hue = 0.0 = 1.0 (Как ни парадоксально это звучит Улыбающийся )
« Последнее редактирование: Ноябрь 30, 2012, 19:16 от Hrundel » Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #22 : Ноябрь 29, 2012, 16:57 »

В конце-концов "склеил" архивы и распаковал. Проект создался и запустился нормально, но палетка почему-то не показывается  Непонимающий После отчаянных но безуспешных попыток разобраться в Вашем коде - плюнул и написал с нуля (attach)

Рамочки и др бижутерию сами дорисуете
Записан
Hrundel
Гость
« Ответ #23 : Ноябрь 29, 2012, 18:24 »

Аааааааааааааааааах ёлки-палки, воооооооооон как !!!!!!!  Смеющийся  Смеющийся  Смеющийся

А я думал надо вообще готовую картинку брать и ее перерисовывать.
Да, Igors, огромная благодарность тебе. Все очень понятно и ясно теперь. Большое, большое спасибо.
Думаю, что многим наверное тоже будет интересно.

Да на таком примере, я на самом деле многому научусь.
« Последнее редактирование: Ноябрь 29, 2012, 18:32 от Hrundel » Записан
Hrundel
Гость
« Ответ #24 : Ноябрь 29, 2012, 18:49 »

Ну тогда уважаемые господа, позвольте закончить обсуждение словами большой благодарности ко всем кто принимал участие в обсуждении, и кто стремился помочь словом и делом.

Еще раз персональная благодарность Igors

И скажу вам точно, с такими людьми как вы можно многого добиться!
Спасибо!
« Последнее редактирование: Декабрь 01, 2012, 02:36 от Hrundel » Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #25 : Ноябрь 29, 2012, 19:43 »

Да на таком примере, я на самом деле многому научусь.
Я прекрасно понимаю что это только "так говорится", но если есть желание - вот пара задачек

1) Сделайте чтобы размеры по осям могли быть неодинаковы (четвертушка эллипса вместо круга)
2) Видите как прет алиас ("зубы", jaggy) там где кольца соприкасаются. Уберите
Записан
Hrundel
Гость
« Ответ #26 : Ноябрь 29, 2012, 19:51 »

2) Видите как прет алиас ("зубы", jaggy) там где кольца соприкасаются. Уберите

Кстати, вот этим уже начал заниматься Веселый

Правда все-равно скоро придется бросить проект. Хотя, очень не хочется. Но нужно заниматься английским. Я его уже 2 раза завалил. Если в третий раз завалю, выкинут из универа.
« Последнее редактирование: Ноябрь 29, 2012, 19:53 от Hrundel » Записан
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.063 секунд. Запросов: 23.