![]() |
|
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]()
|
|
| MacTep |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1292 Регистрация: 4.8.2003 Где: г. Самара Репутация: нет Всего: 4 |
Привет! Помогите с вопросом: как вывести на экран bmp файл. Работаю в Visual Studio 2003 .NET Проект - Win32 Project. Заранее спасибо!
-------------------- (A)bort, (R)etry, (I)gnore = Haфиг, Heфиг, Пoфиг ... :) |
|||
|
||||
| Fixin |
|
|||
![]() Ёжик ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1357 Регистрация: 6.1.2004 Репутация: 8 Всего: 18 |
Как вывести? BitBlt(...). Может ты имеешь ввиду как загрузить?
|
|||
|
||||
| MacTep |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1292 Регистрация: 4.8.2003 Где: г. Самара Репутация: нет Всего: 4 |
-------------------- (A)bort, (R)etry, (I)gnore = Haфиг, Heфиг, Пoфиг ... :) |
|||
|
||||
| Fixin |
|
|||
![]() Ёжик ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1357 Регистрация: 6.1.2004 Репутация: 8 Всего: 18 |
HBITMAP hBitmap объявлена глобально в данном случае. Есть класс на винапи, чтоб джипеги грузила и гифы тоже. Нужно? Это сообщение отредактировал(а) Fixin - 16.5.2005, 22:21 |
|||
|
||||
| gepard |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2477 Регистрация: 29.2.2004 Репутация: нет Всего: 40 |
Грузишь *.bmp файл, затем, имея массив цветов пикселей, выводишь их через CPaintDC на форме, например.
-------------------- Когда начинаются цифровые войны, а траффик разносит моё сознание по бесконечным просторам инета, подобно ветру, разносящему листву по полям, тогда и только тогда я чувствую себя свободным! © Я, Берсерк, что значит - Неистовый. |
|||
|
||||
| Fixin |
|
|||
![]() Ёжик ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1357 Регистрация: 6.1.2004 Репутация: 8 Всего: 18 |
|
|||
|
||||
| MacTep |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1292 Регистрация: 4.8.2003 Где: г. Самара Репутация: нет Всего: 4 |
-------------------- (A)bort, (R)etry, (I)gnore = Haфиг, Heфиг, Пoфиг ... :) |
|||
|
||||
| Fixin |
|
|||
![]() Ёжик ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1357 Регистрация: 6.1.2004 Репутация: 8 Всего: 18 |
|
|||
|
||||
| Fixin |
|
|||
![]() Ёжик ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1357 Регистрация: 6.1.2004 Репутация: 8 Всего: 18 |
|
|||
|
||||
| gepard |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2477 Регистрация: 29.2.2004 Репутация: нет Всего: 40 |
Может на MFC хотел сказать? -------------------- Когда начинаются цифровые войны, а траффик разносит моё сознание по бесконечным просторам инета, подобно ветру, разносящему листву по полям, тогда и только тогда я чувствую себя свободным! © Я, Берсерк, что значит - Неистовый. |
|||
|
||||
| Fixin |
|
|||
![]() Ёжик ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1357 Регистрация: 6.1.2004 Репутация: 8 Всего: 18 |
Да хоть ОВЛ, все равно не Апи. А раздел по !!!Апи!!!
|
|||
|
||||
| Дрон |
|
|||
![]() Java-ненавистник :) ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3179 Регистрация: 29.12.2002 Где: Санкт-Петербург Репутация: 1 Всего: 93 |
Fixin
Через GetPixel задолбаешься получать Есть какая-то функции GetDIBits или что вроде того... сейчас уже не помню. Правда новичок в ней вряд ли сможет разобраться -------------------- Да. Именно так. |
|||
|
||||
| Знак |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 135 Регистрация: 29.4.2005 Репутация: нет Всего: нет |
Нужно знать как бмп устроен, а с выводм на поток но проблем если есть ссылка на формат BMP киньте и мне.....
--------------------
Ищу 2 файлаowl.tchwindows.tch |
|||
|
||||
| ManiaK |
|
|||
![]() Homo Sapience ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1145 Регистрация: 3.8.2004 Где: ИУ5-93 Репутация: 2 Всего: 29 |
Могу кинуть к понедельнику. Сам выводил, загружал - ничего сложного нет.
|
|||
|
||||
| ManiaK |
|
||||
![]() Homo Sapience ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1145 Регистрация: 3.8.2004 Где: ИУ5-93 Репутация: 2 Всего: 29 |
Так, сканера под рукой нет, текст с книги под чистую сдирать не охота. Потому пишу сразу алгоритм загрузки.
Итак, строение BMP файла: BITMAPFILEHEADER bmfh;// 14 байт BITMAPINFOHEADER bmih;// 40 байт RGBQUAD aColors[]; BYTE aBitmapBits[]; Теперь отдельно каждую:
bfType - содержит ASCII-символы 'B' и 'M'. bfSize - размер файла в байтах bfReserved1, bfReserved2 - не используются. bfOffBits - байтовое смещение до начала растрового изображения (до начала aBitmapBits). Эту структуру мы грузим целиком от начала файла и проверяем, чтобы поля согласовывались с действительностью. Следом за ней идёт ещё одна структура:
Поскольку времени на поиск/перепечать мало, даю текст со своей же статьи про ручную загрузку иконок. Разница в дальнейшем между иконками и BMP файлами только в одном - у BMP нет масочного массива (дополнительное чёрнобелое изображение, которое показывает какие биты рисовать, а какие - нет). Статья тут. |
||||
|
|||||
| Еррор |
|
|||
|
Unregistered |
Как работает PatBit()
|
|||
|
||||
| Fixin |
|
||||||
![]() Ёжик ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1357 Регистрация: 6.1.2004 Репутация: 8 Всего: 18 |
Мне нужно получить, имея бмп файл и его палитру (8 бит изображение), массив COLORREF`ов. Пробовал так:
|
||||||
|
|||||||
| ManiaK |
|
|||
![]() Homo Sapience ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1145 Регистрация: 3.8.2004 Где: ИУ5-93 Репутация: 2 Всего: 29 |
Палитру использовать неправильно невозможно
В чём "плохость" выводимой картинки? Желательно брось весь код загрузки - я его проверю. Добавлено @ 12:06 Ёлки, на кой создавать отдельный топик??.. Запутал блин |
|||
|
||||
| Иван4444 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 14.8.2008 Репутация: нет Всего: нет |
Здравствуйте. у меня такая проблемка: имееется изображение формата .ico , хотелось бы ее загрузить и отобразить на экране.
подскажите как это делается?.. просмотрел предыдущие темы в форуме не помогло (( |
|||
|
||||
| Andrey44 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1501 Регистрация: 4.12.2006 Где: На работе Репутация: 8 Всего: 26 |
-------------------- ????? ??, ??????? ?????. |
|||
|
||||
| Dem_max |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 16 Всего: 39 |
Fixin,
Кинь куда нить пожалуйста, посмотрю. -------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
|||
|
||||
| Andrey44 |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1501 Регистрация: 4.12.2006 Где: На работе Репутация: 8 Всего: 26 |
Dem_max, это GDI+
-------------------- ????? ??, ??????? ?????. |
||||
|
|||||
| Dem_max |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 16 Всего: 39 |
Andrey44,
К сожалению у мня на Builder 6.0 GDI+ так и не захотел завестися. вот топик Builder 6.0 & GDI++ -------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
|||
|
||||
| Andrey44 |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1501 Регистрация: 4.12.2006 Где: На работе Репутация: 8 Всего: 26 |
Dem_max, а ты делаешь при запуске проги такое:
а при выходе такое:
Если да, тогда не знаю в чем проблема! -------------------- ????? ??, ??????? ?????. |
||||
|
|||||
| Dem_max |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 16 Всего: 39 |
Andrey44,
Может у тебя проектик под Builder 6.0 имеется ? с GDI+. Скинь я посмотрю, зато я буду точно знать что у когото работает и искать траблы у себя. -------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
|||
|
||||
| Andrey44 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1501 Регистрация: 4.12.2006 Где: На работе Репутация: 8 Всего: 26 |
Dem_max, нет, только VS. Builder 6.0 - никогда не пользовался.
-------------------- ????? ??, ??????? ?????. |
|||
|
||||
| Annihilator |
|
|||
![]() bytegrinder ![]() ![]() Профиль Группа: Участник Сообщений: 493 Регистрация: 21.11.2006 Где: Омск Репутация: нет Всего: 3 |
Я так понял, есть файл bmp. Его надо вывести в окошко. Если так, то держи пример, через двойную буферизацию
Это сообщение отредактировал(а) Annihilator - 21.8.2008, 15:11 -------------------- Если вы не можете сделать хоpошyю пpогpаммy, сделайте, чтобы она по кpайней меpе выглядела хоpошо |
|||
|
||||
| Dem_max |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 16 Всего: 39 |
Прям страшно становиться за такую функцию ди и вообще
Загружать файл в этом сообщении самый наилучший способ. Это сообщение отредактировал(а) Dem_max - 21.8.2008, 17:42 -------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
||||
|
|||||
| Annihilator |
|
|||
![]() bytegrinder ![]() ![]() Профиль Группа: Участник Сообщений: 493 Регистрация: 21.11.2006 Где: Омск Репутация: нет Всего: 3 |
Ну не так выразился. Конечно файл-то сам на месте. Удаляем хэндл. Конечно не лучший, совсем не лучший. Это просто учебный пример из книги Румянцева, который я в целях обучения разбирал. -------------------- Если вы не можете сделать хоpошyю пpогpаммy, сделайте, чтобы она по кpайней меpе выглядела хоpошо |
|||
|
||||
| Dem_max |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 16 Всего: 39 |
А потом у нас корявые программы программы появляются, потомучто учились на корявых примерах. -------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
|||
|
||||
| Annihilator |
|
|||
![]() bytegrinder ![]() ![]() Профиль Группа: Участник Сообщений: 493 Регистрация: 21.11.2006 Где: Омск Репутация: нет Всего: 3 |
А вот тут уже понадобится включать мозг, чтобы уменьшить корявости -------------------- Если вы не можете сделать хоpошyю пpогpаммy, сделайте, чтобы она по кpайней меpе выглядела хоpошо |
|||
|
||||
![]()
|
| Правила форума "C/C++: Системное программирование и WinAPI" | |
|
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |