получить высокое качество изображения / скриншот C# wpf - PullRequest
0 голосов
/ 19 апреля 2020

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

Bitmap bmp= 
new Bitmap((int)SystemParameters.PrimaryScreenWidth(int)SystemParameters.PrimaryScreenHeight);
 Graphics g = Graphics.FromImage(bmp);
g.CopyFromScreen(0, 0, 0, 0, bmp.Size);

приведенный выше код является кодом для создания снимка экрана

BitmapImage bmI = new BitmapImage();
bmI.BeginInit();
bmI.UriSource = new Uri(FullPath);
bmI.EndInit();
Screen_Shot.Source = bmI;

И этот код является кодом для отключения изображения, Screen_Shot это имя изображения, а полный путь - это место, куда я положил растровое изображение

Я пытался использовать Screen_Shot.Stretch = Stretch.Fill; и UseLayoutRounding="True" SnapsToDevicePixels="True", но ни один из них, похоже, не справился с работой это пример скриншота, который я взял из своего п c

1 Ответ

0 голосов
/ 20 апреля 2020

Вы хотите установить для свойства Stretch значение Uniform, иначе изображение будет искажено при заполнении независимо от размера / формы элемента управления Image. Вы также должны помнить, что размер экрана может отличаться от размера окна ваших программ. Если вы не будете равномерно растягивать изображение, оно будет искажаться почти всегда (даже если оно немного).

Что касается вашего "размытого" изображения, вам нужно указать опцию рендеринга вашего Screen_Shot элемента управления изображением или оно установит более низкое качество изображения, чтобы его было легче рендерить. Это честно, лучше просто установить в xaml. Я обычно использую Fant, но смотрю другие опции , указанные здесь .

<Image Name="Screen_Shot" RenderOption.BitmapScalingMode="Fant"/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...