mrjbom
@mrjbom

Как упаковать файл в проект и затем извлечь на C++ в Visual Studio?

Я хочу добавить картинку(.bmp 1280x1024 или 800x600) что-бы при запуске .exe файла она распаковывалась на диск C и запускался .exe уже мог с ней работать.
Как добавить её в .exe?
Буду очень рад если вы объясните, а не кинете ссылку на сайт с кучами бесполезного кода без объяснения.
Объясните как дураку, спасибо.
  • Вопрос задан
  • 1006 просмотров
Пригласить эксперта
Ответы на вопрос 2
@res2001
Developer, ex-admin
Это делается с помощью ресурсов. Последний раз работал с ресурсами года 3 назад - с текстовым файлом.
Создаете в студии файл описания ресурсов (.rc), добавляете ваш файл туда. Какие конкретно кнопки жать при этом не скажу.
Затем в коде с помощью WinAPI функций FindResource и LoadResource загружаете ресурс в память как байтовый массив.
Дальше делайте с ним, что хотите.
Смысла сохранять файл на диск нет, т.к. потом снова будете с диска читать.
Ответ написан
@Mercury13
Программист на «си с крестами» и не только
Есть три способа хранения картинки в EXE-файле.
1. Bitmap-ресурсом. Несжатая, большинство библиотек позволяют загрузить её в одну строчку.
2. Двоичным ресурсом. Сжатие возможно любое, загрузка пишется несколько дольше.
3. Массивом, const unsigned char picture[] = { };

Я не знаю, с какой библиотекой для BMP вы работаете, и надо смотреть уже по месту.

И наконец: для чего её распаковывать? Реально нужно? (Например, мне однажды нужно было распаковывать картинки, потому что не хотел писать просмотрщик графики и пользовался штатным.)
Если нужно — то куда-нибудь во временный каталог, который тоже нужно сначала получить.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы