Я перепробовал много (более 25 приложений), которые утверждают, что сохранили ScreenShot в файл.
Они делают это, но не очень хорошо.
Все, что вы можете попробовать это простые пошаговые тесты:
- Если ни один из них не активен, нажмите Alt + Printscreen, чтобы сделать снимок
- Вставьте изображение буфера обмена в приложение для рисования (Paint.Net может подойти) в качестве слоя
- Когда одно из таких приложений (скриншот) активно, нажмите Alt + Printscreen, чтобы сделать снимок, чтобы сохранить его в формате PNG или любом другом формате без ограничений
- Теперь откройте сохраненный файл и посмотрите на размер в пикселях, сравните его с размером, полученным на шагах 1 и 2, удивительно: они не совпадают!
Хуже всего, когда граница окна не является (я буду использовать имена констант Delphi) "bsSizeable", если это "bsDialog", "bstoolWindow" и т. Д., Большинство приложений, которые делают снимки, теряют некоторую часть левой и верхняя часть окна; как будто они где обрезка.
Итак, я должен спросить:
Существует ли какое-либо приложение, способное перехватить Alt + Printscreen для автоматического сохранения клипа? Вместо того, чтобы делать собственный снимок экрана!
Другими словами, когда я не использую инструмент, я получаю правильный размер / область, вставленную в буфер обмена, но при использовании приложений, чтобы сделать скриншот проще, с некоторыми видами окон я получаю больше пикселей вокруг границы окон, или, что еще хуже, теряется часть окна.
У всех этих приложений есть эта проблема, и на них очень легко ее увидеть (есть еще много проблем, но я поставил самые известные / самые популярные в алфавитном порядке): Cropper 1.9. 4, FSCaptureSetup53, GreenShot, Lightscreen, PrtScrAssistant, ScreenshotCaptor и т. Д.
Кстати, почему они делают снимок экрана сами? При нажатии Alt + Printscreen (без всякого хука, запуска приложения для захвата экрана и т. Д.) Windows помещает в буфер обмена нужную область; но когда любое из таких приложений работает, буфер обмена / файл / и т. д. получают неправильный регион.
Обратите внимание, что я говорю о "стандартных" окнах, без темы, все с прямоугольной рамкой, без личного графического интерфейса и т. Д. ... стандартные формы окон.
В некоторых приложениях добавьте дополнительное поле вокруг прямоугольной границы окна.
Другие приложения обрезают часть прямоугольного окна, поэтому некоторая часть теряется настолько, что теряется первая буква заголовка заголовка (когда не отображается значок системного меню).
Какой из них работает (сохраняет тот же регион) так же, как Windows Stardard Alt + Printscreen? Я еще никого не знаю, все, что я проверил, в этот момент не получается.
Единственное известное мне решение - открыть и использовать Paint.Net:
- Alt + Printscreen
- Alt + Tad для перехода в Paint.Net
- Ctrl + Alt + V, чтобы вставить новое изображение
- Ctrl + S для сохранения (запрашивается путь, имя, тип и т. Д.)
Из всех приложений, которые я пробовал, некоторые из них не сохраняются автоматически как PNG; большинство из тех, которые создают PNG, сохраняют неправильный регион (некоторые с большим регионом, некоторые с недостаточным регионом); всегда говорим о том, чтобы сделать снимок стандартного прямоугольного окна.
Проверено на: Windows XP, 7, 8, 8.1 и 10
PD: Если вы не являетесь разработчиком, который может устанавливать BorderStyle и BorderIcons для ваших форм, просто попробуйте с любым приложением, которое отображает окна инструментов, диалоговые окна и т. Д. С неизменяемым размером, действительно легко увидеть разницу между выполнением windo снимок экрана с окнами и вставка результата по сравнению с любым из этих приложений, которые могут автоматически сохранять; помните, что вам нужно использовать Alt + PrintScreen (требуется только область активного прямоугольного окна, не больше, не меньше).