Member 13495762 Ответов: 1

Как я могу сделать printcreen рабочего проекта и сохранить их в виде растрового изображения


У меня есть 4 кнопки (кнопки управления) на нашем проекте startpage. Я знаю, как установить изображение(растровое изображение) на нем. (использование библиотеки bcg)

Эти 4 кнопки представляют собой 4 последних проекта. Моя цель состоит в том, чтобы сделать printcreen, когда пользователь, например, закрывает текущий проект и сохраняет этот printscreen как растровое изображение (где я должен сохранить?)
Как сохранить этот предварительный просмотр(растровое изображение)?

Затем я загружаю это растровое изображение в качестве нашего недавнего предварительного просмотра проекта

Что я уже пробовал:

В качестве первого шага я знаю о методе в библиотеке bcg,
CreateScreenshot
, но пока безрезультатно.

Afzaal Ahmad Zeeshan

Вы можете сохранить снимок экрана в любой временной папке или сохранить его в локальной папке хранения приложения.

Причина и вопрос немного неясны, потому что вы не сказали, является ли конфиденциальность или безопасность какой-либо проблемой или нет.

1 Ответов

Рейтинг:
2

Jochen Arndt

Когда в вашем приложении открыт документ, он отображается в виде CWnd производного класса (например CView). Существует несколько способов получить содержание CWnd в растровое изображение; с рамкой и подписью и без них:


  • Использование памяти CDC зовущий BitBlt (копировать или StretchBlt (масштабированная копия)
  • Отправка а WM_PRINTCLIENT сообщение (должно поддерживаться исходным окном)
  • С помощью CWnd::PrintWindow (должно быть реализовано производным CWnd)


Цитата:
где я должен экономить?
Общим местом для сохранения таких данных является
%USERPROFILE%\AppData\Local\<MyCompany>\<MyApp>
или Роуминг вместо Местный когда требуется синхронизация между доменами. Позвоните в Функция SHGetKnownFolderPath (Windows)[^] с FOLDERID_LocalAppData или FOLDERID_RoamingAppData чтобы получить путь и добавить название вашей компании и приложения (эти подкаталоги должны быть созданы при установке вашего приложения).

Но, как уже предлагалось в ответе на один из ваших предыдущих вопросов, возможно, нет необходимости сохранять файлы. При запуске приложения вы можете открыть каждый последний файл в скрытом виде, чтобы сделать снимок экрана. Это позволяет также избежать удаления старых растровых файлов.


Цитата:
Как сохранить этот предварительный просмотр(растровое изображение)?
Поскольку вам нужно растровое изображение для отображения, имеет смысл сохранить его как растровое изображение. Используйте CImage класс для сохранения и загрузки изображений. Если размер имеет значение, вы также можете сохранить его в формате PNG.