| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Visual C++/MFC/WTL > Как разместить на форме PNG |
| Автор: Gremlin 7.11.2006, 20:40 |
| Хочу сделать лампочку, которая то светлая то темная. Вставил картинку бмп, но она квадрат а лампочка круглая получилися некрасивые белые углы, ибо в битмапе нету прозрачного фона попробовал иконкой некрасивая перерисовка угловатое все. Вот думаю надо както png запихать. Может подскажете как это сделать или подскажет другую реализацию данной задачи? (лампочка красивая с тенями эфект выпуклоси |
| Автор: Earnest 8.11.2006, 09:23 |
| Каким образом формат изображения связан с угловатостью картинки? Цвета теряются, что ли? В битмапе тоже можно заданный цвет сделать прозрачным, т.е. заменить заданным (цветом подложки). Функция называется что-то вроде LoadMappedBitmap. Если тебе нужна именно прозрачность (например, фон не одноцветный), то загрузи картинку в ImageList, с заданным прозрачным фоном, и рисуй оттуда. И, наконец, если не ошибаюсь, иконка тоже может быть полноцветной. Только загружать ее нужно через LoadImage. Вроде бы. |
| Автор: Gremlin 8.11.2006, 14:32 |
| ну мне нужно такуюже красивую картинку как и стандартная IDI_ERROR я добавил в проект иконку но не могу её загрузить разместил на форме пикчерс бокс IDC_IMAGE CStatic * image = (CStatic*) GetDlgItem(IDC_IMAGE) image->SetIcon..... и дальше хз как |
| Автор: Rickert 8.11.2006, 16:48 |
| Берёшь картинку, делаешь у неё определённый цвет там, где тебе надо чтобы было прозрачно. Например чёрный - пусть будет цветом прозрачности. В RGB системе это занчение (255, 255, 255). Создаёшь переменную типа CImage, вызываешь метод Load("путь к твоей картинке"), затем где-нибудь в нужный момент вызываешь transparentBlt() Описание всего смотри в МСДНе. ЗЫ Не забывай про ReleaseDC() после каждого GetDC() |
| Автор: Rickert 9.11.2006, 14:54 |
| Earnest, тьфу, блин. (0, 0, 0) |
| Автор: Gremlin 9.11.2006, 18:34 |
| Earnest с этим то вся и проблема как из идентификатора получить HICON ибо параметры в LoadIcon ( HINSTANCE hInstance, LPCTSTR lpIconName) но как загрузить если она уже у меня в проекте. |
| Автор: Earnest 10.11.2006, 08:38 | ||
Что значит "в проекте"? В ресурсах? Так для этого LoadIcon и существует.
|
| Автор: Gremlin 10.11.2006, 18:21 | ||
не я сделал так
|