![]() |
|
|
![]()
|
|
| darkangelmsk |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 5.6.2007 Репутация: нет Всего: нет |
Нужно завтра досдать софтинку, что-то вроде аналоговых часов.
Так вот, дело в том, что задача стоит - отрисовать циферблат и весь интерфейс программки из BMP-файла. Всё остальное реализовано, помогли реализовать отрисовку, однако так как файл True Color (24 bit) он безумно искажается, зеркально поворачиваетя и уменьшается, я уж не говорю о цветах. Причина тому - я подгружаю картинку из ресурсов. Насколько я понял, максимум там поддерживается BMP 256-цветов Нашёл несколько исходников, но внедрить их в свой код я по-человечески так и не сумел. Короче абсолютно ничего не получилось. В таком виде (глючном) сдать не могу. Очень нужна помощь разбирающихся в данном вопросе людей. Ниже привожу код отрисовки ресурса Bitmap (IDB_CLOCK) в окно
Помогите, плиз, переделать это под поддержку 24 бит. Времени очень мало, а все попытки разобраться с готовыми решениями ни к чему не приводят :( Разрешение у картинки довольно большое - 770х746 Заранее огромное спасибо за помощь! |
|||
|
||||
| SenkraD |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 933 Регистрация: 3.2.2006 Где: Украина::Киев Репутация: 4 Всего: 23 |
darkangelmsk, загрузи картинку с файла. И, вообще, в ресурсы можно вшить любой файл лишь бы потом уметь с ним работать (тоесть загрузи 32-битную картинку в ресы и грузи как грузил)
|
|||
|
||||
| darkangelmsk |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 5.6.2007 Репутация: нет Всего: нет |
А не подскажете каким образом это сделать? Дело в том, что я вообще не силён в WinAPI, только учусь.
|
|||
|
||||
| SenkraD |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 933 Регистрация: 3.2.2006 Где: Украина::Киев Репутация: 4 Всего: 23 |
darkangelmsk,
1. Правый клин на ResourceView 2. Add Resource 3. Import 4. Даём идентификатор 5. Работаем с ресурсом по индификатору |
|||
|
||||
| darkangelmsk |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 5.6.2007 Репутация: нет Всего: нет |
Я думал, Вы имеете ввиду загрузить с помощью функции какой-то. Дело в том, что я именно так и делал. И вышеописанный код работает именно таким образом, итендификатор Bitmap-ресурса IDB_CLOCK. Однако даже если выставить в свойствах ресурса 24битный цвет, всё равно никакого эффекта: картинка искажается как по цветам, так и по размерам, зеркально переворачивается (flip) и с ней происходит просто какая-то чертовщина. Насколько я понял, нормальная работа с подобной картинкой (24 бит) в качестве ресурса невозможна.
|
|||
|
||||
| SenkraD |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 933 Регистрация: 3.2.2006 Где: Украина::Киев Репутация: 4 Всего: 23 |
А на счёт функции метод LoadBitmap класса CBitmap может грузить и с файла
|
|||
|
||||
| darkangelmsk |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 5.6.2007 Репутация: нет Всего: нет |
Проблема исчерпана!
Заключалась в том, что я перед этим переопределял систему координат. Другими словами функция, которая выполнялась перед прорисовкой, всё сбивала. Поместил её после прорисовки и всё отлично заработало. Короче весь код, приведённый в первом посте рабочий |
|||
|
||||
| Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 25 Всего: 62 |
Чушь Максимум там поддерживается TrueColor -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |