Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как разместить на форме PNG 
:(
    Опции темы
Gremlin
Дата 7.11.2006, 20:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 119
Регистрация: 28.8.2006

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



Хочу сделать лампочку, которая то светлая то темная. Вставил картинку бмп, но она квадрат а лампочка круглая получилися некрасивые белые углы, ибо в битмапе нету прозрачного фона попробовал иконкой некрасивая перерисовка угловатое все. Вот думаю надо както png запихать. Может подскажете как это сделать или подскажет другую реализацию данной задачи? (лампочка красивая с тенями эфект выпуклоси smile)
PM MAIL   Вверх
Earnest
Дата 8.11.2006, 09:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Каким образом формат изображения связан с угловатостью картинки? Цвета теряются, что ли?
В битмапе тоже можно заданный цвет сделать прозрачным, т.е. заменить заданным (цветом подложки). Функция называется что-то вроде LoadMappedBitmap. 
Если тебе нужна именно прозрачность (например, фон не одноцветный), то загрузи картинку в ImageList, с заданным прозрачным фоном, и рисуй оттуда.
И, наконец, если не ошибаюсь, иконка тоже может быть полноцветной. Только загружать ее нужно через LoadImage. Вроде бы. 



--------------------
...
PM   Вверх
Gremlin
Дата 8.11.2006, 14:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 119
Регистрация: 28.8.2006

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



ну мне нужно такуюже красивую картинку как и стандартная IDI_ERROR
я добавил в проект иконку но не могу её загрузить smile 
разместил на форме пикчерс бокс IDC_IMAGE
CStatic * image = (CStatic*) GetDlgItem(IDC_IMAGE)
image->SetIcon..... и дальше хз как  smile ибо SetIcon(HICON hIcon) пытаюсь ::LoadIcon(IDI_ERROR) не робит


PM MAIL   Вверх
Rickert
Дата 8.11.2006, 16:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ситхи не пройдут!
****


Профиль
Группа: Комодератор
Сообщений: 3356
Регистрация: 11.7.2006
Где: Лакрима

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



Берёшь картинку, делаешь у неё определённый цвет там, где тебе надо чтобы было прозрачно. Например чёрный - пусть будет цветом прозрачности. В RGB системе это занчение (255, 255, 255). Создаёшь переменную типа CImage, вызываешь метод Load("путь к твоей картинке"), затем где-нибудь в нужный момент вызываешь transparentBlt()
Описание всего смотри в МСДНе.

ЗЫ
Не забывай про ReleaseDC() после каждого GetDC()


--------------------
Ни что не внушает сна крепче, чем день приисполненный трудов!
PM MAIL WWW Skype GTalk   Вверх
Earnest
Дата 9.11.2006, 07:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(Rickert @  8.11.2006,  17:48 Найти цитируемый пост)
Например чёрный - пусть будет цветом прозрачности. В RGB системе это занчение (255, 255, 255). 

Это сильно... smile 

Gremlin, прежде чем делать SetIcon, нужно получить HICON. У тебя это не получается?
Если в ресурсах проекта иконка выглядит нормально, как надо, попробуй загрузить не LoadIIcon, а LoadImage. Только почитай внимательно про параметры функции.


--------------------
...
PM   Вверх
Rickert
Дата 9.11.2006, 14:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ситхи не пройдут!
****


Профиль
Группа: Комодератор
Сообщений: 3356
Регистрация: 11.7.2006
Где: Лакрима

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



Earnest, тьфу, блин. (0, 0, 0) smile


--------------------
Ни что не внушает сна крепче, чем день приисполненный трудов!
PM MAIL WWW Skype GTalk   Вверх
Gremlin
Дата 9.11.2006, 18:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 119
Регистрация: 28.8.2006

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



Earnest с этим то вся и проблема как из идентификатора получить HICON ибо параметры в LoadIcon ( HINSTANCE hInstance,   LPCTSTR lpIconName) но как загрузить если она уже у меня  в проекте. 

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


Эксперт
****


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

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



Что значит "в проекте"? В ресурсах? Так для этого LoadIcon и существует.
Код

psIconName = MAKEINTRESOURCE (IconID).



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


Шустрый
*


Профиль
Группа: Участник
Сообщений: 119
Регистрация: 28.8.2006

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



не я сделал так 
Код

HICON icon = AfxGetApp->LoadIcon(IDI_ERR);


PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




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


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

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