Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Gray->RGB 
V
    Опции темы
ShurikA
Дата 20.3.2006, 14:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Зануда
***


Профиль
Группа: Завсегдатай
Сообщений: 1364
Регистрация: 29.10.2005
Где: Канада

Репутация: нет
Всего: 3



Такая тема:
есть обьект CImage imgOriginal который в себе держит картинку.
если я хочу сохранить етот imgOriginal в фаил вместе ц нарисованными на той же картинке линиями делаю следующее:
Код

CDC* dcMemory = CDC::FromHandle(imgOriginal.GetDC());
measureMgr->Paint(dcMemory, TRUE);
imgOriginal.ReleaseDC();
.
.
.
и продолжаю сохранять...

measureMgr->Paint отрицовывает в dcMemory всё что нужно.
Всё прекрасно работает кроме одного:
если картинка цветная, то всё сохраняется в цвете, б таком как и был нарисован.
если же картинка Gray то сохраняется всё серым цветом.
Я так понимаючто что бы всё сохранялось в цвете нужно переделать imgOriginal в цветную...
Как?


--------------------
Если долго мучиться, что нибудь получится...
user posted image
PM MAIL WWW ICQ Skype   Вверх
Romikgy
Дата 20.3.2006, 15:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 2
Всего: 146



Цитата(ShurikA @ 20.3.2006, 13:44 Найти цитируемый пост)
если же картинка Gray то сохраняется всё серым цветом.

непонятно????
все сохраняется оттенками серого
Цитата(ShurikA @ 20.3.2006, 13:44 Найти цитируемый пост)
Я так понимаючто что бы всё сохранялось в цвете нужно переделать imgOriginal в цветную...

то есть ты хочешь что б картинка , которая в грее, перекодилась в цветное изображение?


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
ShurikA
Дата 20.3.2006, 15:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Зануда
***


Профиль
Группа: Завсегдатай
Сообщений: 1364
Регистрация: 29.10.2005
Где: Канада

Репутация: нет
Всего: 3



Цитата(Romikgy @ 20.3.2006, 14:25 Найти цитируемый пост)
все сохраняется оттенками серого

Прав!


Цитата(Romikgy @ 20.3.2006, 14:25 Найти цитируемый пост)
то есть ты хочешь что б картинка , которая в грее, перекодилась в цветное изображение?

именно так...


--------------------
Если долго мучиться, что нибудь получится...
user posted image
PM MAIL WWW ICQ Skype   Вверх
Romikgy
Дата 20.3.2006, 15:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 2
Всего: 146



Цитата(ShurikA @ 20.3.2006, 14:43 Найти цитируемый пост)
именно так...

ну так обработай каждый пискель, оттенок серого приравняй к R,G,B и будет те счастье


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Earnest
Дата 20.3.2006, 17:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 87
Всего: 183



Цитата(Romikgy @ 20.3.2006, 15:58 Найти цитируемый пост)
ну так обработай каждый пискель, оттенок серого приравняй к R,G,B и будет те счастье

Не надо. Проще предварительно скопировать из контекста серого растра в другой мемори контекст, который создать как цветной.



--------------------
...
PM   Вверх
ShurikA
Дата 20.3.2006, 23:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Зануда
***


Профиль
Группа: Завсегдатай
Сообщений: 1364
Регистрация: 29.10.2005
Где: Канада

Репутация: нет
Всего: 3



Цитата(Earnest @ 20.3.2006, 16:47 Найти цитируемый пост)
Не надо. Проще предварительно скопировать из контекста серого растра в другой мемори контекст, который создать как цветной.

и как это сделать?


--------------------
Если долго мучиться, что нибудь получится...
user posted image
PM MAIL WWW ICQ Skype   Вверх
Earnest
Дата 21.3.2006, 14:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 87
Всего: 183



1) Создать новый CImage, такого же размера, но полноцветный.
2) Попросить у него контекст
3) Скопировать туда оригинальный Image
4) Нарисовать поверх все, что тебе нужно
5) Сохранить новый Image в файл...


--------------------
...
PM   Вверх
ShurikA
Дата 21.3.2006, 17:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Зануда
***


Профиль
Группа: Завсегдатай
Сообщений: 1364
Регистрация: 29.10.2005
Где: Канада

Репутация: нет
Всего: 3



Цитата(Earnest @ 21.3.2006, 13:45 Найти цитируемый пост)
1) Создать новый CImage, такого же размера, но полноцветный.

Это всё понятно, но я не нашёл каким образом я сообщаю CImage что он полноцветный?


--------------------
Если долго мучиться, что нибудь получится...
user posted image
PM MAIL WWW ICQ Skype   Вверх
Earnest
Дата 21.3.2006, 17:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 87
Всего: 183



А каким образом ты сообщаешь ему размеры? Параметр nBPP ни о чем не говорит?
Цитата(MSDN)

Creates a CImage bitmap and attach it to the previously constructed CImage object.

BOOL Create(
  int nWidth,
  int nHeight,
  int nBPP,
  DWORD dwFlags = 0
) throw( );


Это сообщение отредактировал(а) Earnest - 21.3.2006, 17:57


--------------------
...
PM   Вверх
ShurikA
Дата 21.3.2006, 18:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Зануда
***


Профиль
Группа: Завсегдатай
Сообщений: 1364
Регистрация: 29.10.2005
Где: Канада

Репутация: нет
Всего: 3



Можно подумать что нет 8 битных цветных картинок...


--------------------
Если долго мучиться, что нибудь получится...
user posted image
PM MAIL WWW ICQ Skype   Вверх
Earnest
Дата 22.3.2006, 08:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 87
Всего: 183



8-битные цветные отличаются от 8-битных серых палитрой. Если ты хочешь именно 8-битную цветную картинку, то установи новую палитру. Но тогда часть серых цветов исказится.


--------------------
...
PM   Вверх
ShurikA
Дата 22.3.2006, 09:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Зануда
***


Профиль
Группа: Завсегдатай
Сообщений: 1364
Регистрация: 29.10.2005
Где: Канада

Репутация: нет
Всего: 3



Цитата(Earnest @ 22.3.2006, 07:31 Найти цитируемый пост)
Но тогда часть серых цветов исказится.

И этом нет спору... smile


--------------------
Если долго мучиться, что нибудь получится...
user posted image
PM MAIL WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0599 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.