![]() |
|
|
![]()
|
|
| AheFeanare |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 25.12.2006 Репутация: нет Всего: нет |
Здраствуйте!!! Помогите начинающему программисту!!! Полазил тут по форуму в поисках ответа на интересующий меня вопрос, но слишком заумно написано, и как начинающему изучать С++ не очень мне дался текст... А вопрос у меня такой: как работать с BMP-файлами в Visual С++??? у меня версия 6.0 стоит, на ней и практикуюсь - миня именно интересует в данный момент как сделать так, чтобы можно было просматривать файлы с таким расширением и потом записывать их же... дома MSDN нетю, искал на сайте который мне советовали - там не нашел... решил обратиться к старичкам в надежде (= Можно просто какие функции нужны для работы с bmp-файлами и какие библиотеки необходимо подключать, а как их юзать я думаю смогу сам выяснить методом научного втыка... (= Заранее спасибо!!!
З.Ы. Сори, если темка такая с подробным ответом была, я не нашел... (= |
|||
|
||||
| zkv |
|
|||
![]() ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2133 Регистрация: 23.7.2006 Где: Санкт-Петербург Репутация: 16 Всего: 92 |
ну вот, набор функций, который поможет обрисовать картину по работе с BMP'шками, функции брал из книжки, где то что то переделывал, где то что то не доделал, по этому вид у них возможно не самый лучший, но для начала пойдут
Это сообщение отредактировал(а) zkv - 25.12.2006, 23:43 |
|||
|
||||
| WERITAS |
|
|||
|
******** ![]() ![]() Профиль Группа: Участник Сообщений: 582 Регистрация: 2.5.2005 Где: Москва Репутация: нет Всего: 5 |
Вот на WinAPI
-------------------- Арт-менеджер клуба, разрешивший концерт Алексея Глызина, уволен с формулировкой "Мудак" |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 3 Всего: 459 |
Попробуете через CImage (MFC) это по проще должно получиться.
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| AheFeanare |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 25.12.2006 Репутация: нет Всего: нет |
Я так понял, что для того чтобы открыть BMP-файл, необходимо сначала узнать его размер, затем его просто тупо считываем и выводим на экран для просмотра, затем если необходимо перезаписать его, то тогда просто перезаписываем его - насколько я понял, хидеры это часть bmp-файла, которую мы считываем и считывая эти хидеры получаем полное изображение - поправьте еси где ошибся... (=
|
|||
|
||||
| zkv |
|
||||||||
![]() ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2133 Регистрация: 23.7.2006 Где: Санкт-Петербург Репутация: 16 Всего: 92 |
чтобы открыть BMP-шку необходимо сначала узнать имя файла, этого достаточно (вам приводили выше пример). Например с CImage дело обстоит так:
а вообще BMP-файл состоит из следующих частей: 1. BITMAPFILEHEADER - хидер файла, здесь метка что файл - bmp, и смещение до растра от начала файла 2. BITMAPINFO - структура включающая в себя хидер растра и палитру, т.е.
3. растр это рассказываю потому, что не понимаю сказанного здесь:
хидеры без растра, сами по себе не дают изображения, в них только общие описания. |
||||||||
|
|||||||||
| AheFeanare |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 25.12.2006 Репутация: нет Всего: нет |
во, теперь усе понил!!! пафол пробовать че-нить наваять!!! Огромное сенкс всем!!!
|
|||
|
||||
| AheFeanare |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 25.12.2006 Репутация: нет Всего: нет |
Блин усе равно не получаетси написать прогу... могет помочь кто??? как именно в программе должно быть фсе устроено??? а то бьюсь ужо который день...
|
|||
|
||||
| zkv |
|
|||
![]() ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2133 Регистрация: 23.7.2006 Где: Санкт-Петербург Репутация: 16 Всего: 92 |
что именно прога должна делать? что не получается конкретно? где код?
выкладывай, посмотрим Это сообщение отредактировал(а) zkv - 6.1.2007, 21:30 |
|||
|
||||
| AheFeanare |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 25.12.2006 Репутация: нет Всего: нет |
весь код выше
CImage img; img.Load( "example.bmp" ); img.Save( "example.bmp", ImageFormatBMP );//можно сохранять и в других форматах но не работаить, познаний моих не хватаить (= а прога должна просто-напросто загружать bmp-файл и потом записывать его (= вся проблема в том что мои познания в графике основываются лишь на том, что я прочитал на этой страничке... (= надеюсь на вашу помощь (= |
|||
|
||||
| zkv |
|
|||
![]() ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2133 Регистрация: 23.7.2006 Где: Санкт-Петербург Репутация: 16 Всего: 92 |
ладно, начнем сначала
PS естественно просмотреть bmp'шку можно еще неимоверным количеством способов, я пытался найти самый простой с точки зрения новичка Присоединённый файл ( Кол-во скачиваний: 54 )
SimpleBMPViewer.zip 24,93 Kb |
|||
|
||||
| AheFeanare |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 25.12.2006 Репутация: нет Всего: нет |
для начала просто надо научиться его открывать и закрывать, чтобы понять суть как енто делаетси, а уж потом поняв как это работает... в общем пока что надо просто расширить свои познания в открытии и закрытии этих файлов (=
а можно вопрос на чем написано??? у меня в 6 версии не хочет работать... хотя мож я чет не то делаю... но работать не хочет... блин чую зря полез в эти дебри, но разобраться теперь хочется с этим (= |
|||
|
||||
| zkv |
|
|||
![]() ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2133 Регистрация: 23.7.2006 Где: Санкт-Петербург Репутация: 16 Всего: 92 |
||||
|
||||
| AheFeanare |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 25.12.2006 Репутация: нет Всего: нет |
запустилось (= теперь вопросы: хде должен находиться bmp-файл чтобы можно было его просмотреть??? а то чет указую путь в открыть и ничего, чистый экран... мож файл не туды запихнул??? и как менюшку делать это ладно... меня интересуить сам процесс считывания рисунка.... как он происходит именно??? нигде не нашел проверки на соответствие расширения тому, которое необходимо, выходит этой проверки нет и прога может открыть и jpg файл???
|
|||
|
||||
| zkv |
|
||||||||
![]() ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2133 Регистрация: 23.7.2006 Где: Санкт-Петербург Репутация: 16 Всего: 92 |
IDR_SimpleBMPViewerTYPE, надо что бы там появилось нечто такое: \nSimpleBMPViewer\nSimpleBMPViewer\nBitmap Files (*.bmp)\n.bmp\nSimpleBMPViewer.Document\nSimpleBMPViewer.Document но на работоспособность приложения это не влияет, просто не дает пользователю открыть что то левое.
где угодно
смотри внимательно в класс документа, там есть объект класса CImage, при открытии документа в него загружается изображение (виртуальный метод BOOL CSimpleBMPViewerDoc::OnOpenDocument(LPCTSTR lpszPathName) ) про сохранение документа смотри BOOL CSimpleBMPViewerDoc::OnSaveDocument(LPCTSTR lpszPathName) подготовка рабочей области и, собственно, сама прорисовка в классе представления, методы void CSimpleBMPViewerView::OnInitialUpdate() и void CSimpleBMPViewerView::OnDraw(CDC* pDC) да, CImage умеет работать с жепегами и не только
PS не забудь подключить atlimage.h |
||||||||
|
|||||||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |