C# 如何在wpf中进行屏幕捕获?
我想简单的点击屏幕短 我从c#windows窗体创建了一个简单的项目 但我不能在wpf上 以下是windows窗体代码:C# 如何在wpf中进行屏幕捕获?,c#,wpf,screenshot,C#,Wpf,Screenshot,我想简单的点击屏幕短 我从c#windows窗体创建了一个简单的项目 但我不能在wpf上 以下是windows窗体代码: using System.Drawing; using System.Windows.Forms; private void short_Click(object sender, EventArgs e) { System.Threading.Thread.Sleep(1000); System.Window
using System.Drawing;
using System.Windows.Forms;
private void short_Click(object sender, EventArgs e)
{
System.Threading.Thread.Sleep(1000);
System.Windows.Forms.SendKeys.Send("{PRTSC}");
Image img = Clipboard.GetImage();
pictureBox1.Image = img;
img.Save("D:\\myimg.jpg"); //Its save only one picture
}
但它只保存了一张图片
wpf的问题:
1:如何在单击时捕获屏幕
2:如何一次保存多张图片
注意:
很简单
任何人都请帮助我
请我使用以下代码创建屏幕截图并在wpf图像控件上显示它。您应该能够将位图保存为jpeg或其他格式
var bitmap = new Bitmap(Screen.AllScreens[SelectedScreen.Index].Bounds.Width, Screen.AllScreens[SelectedScreen.Index].Bounds.Height);
var graphics = Graphics.FromImage(bitmap);
graphics.CopyFromScreen(Screen.AllScreens[SelectedScreen.Index].Bounds.Left, Screen.AllScreens[SelectedScreen.Index].Bounds.Top, 0, 0, bitmap.Size);
this.Dispatcher.Invoke(() => this.PreviewImage.Source = this.ConvertBitmapToBitmapImage(bitmap));
我使用以下代码创建一个屏幕截图,并将其显示在wpf图像控件上。您应该能够将位图保存为jpeg或其他格式
var bitmap = new Bitmap(Screen.AllScreens[SelectedScreen.Index].Bounds.Width, Screen.AllScreens[SelectedScreen.Index].Bounds.Height);
var graphics = Graphics.FromImage(bitmap);
graphics.CopyFromScreen(Screen.AllScreens[SelectedScreen.Index].Bounds.Left, Screen.AllScreens[SelectedScreen.Index].Bounds.Top, 0, 0, bitmap.Size);
this.Dispatcher.Invoke(() => this.PreviewImage.Source = this.ConvertBitmapToBitmapImage(bitmap));
XAML:
XAML:
不清楚您所说的“多画面”。是gif吗?或者每个窗口的截图?或者您每次都想使用不同的文件名(然后只需将
DateTime.Now.ToString()
添加到文件名)?要获得打印屏幕:@Sinatr我不明白您的解决方案,请给我一个示例项目,因为我也不明白您的问题;)@Sinatr我想像windows默认屏幕截图一样保存多屏幕截图不清楚您所说的“多画面”。是gif吗?或者每个窗口的截图?或者您每次都想使用不同的文件名(然后只需将DateTime.Now.ToString()
添加到文件名)?要获得打印屏幕:@Sinatr我不明白您的解决方案,请给我一个示例项目,因为我也不明白您的问题;)@Sinatr我想像windows默认屏幕一样保存多屏幕短屏幕short@unKerativ它将保存在哪里?嘿,这都是错误@不知道它将保存在哪里?嘿,这都是错误!嘿,这是错误:>Format32BPPargHey这是错误:>Format32bppArgb
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:WpfApplication1"
mc:Ignorable="d"
Title="MainWindow" Height="350" Width="525">
<Grid>
<Grid.RowDefinitions>
<RowDefinition></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
</Grid.RowDefinitions>
<Button Grid.Row="1" Height="10" Click="ButtonBase_OnClick"></Button>
<Image Grid.Row="0" x:Name="ImageControl"></Image>
</Grid>