使用 Screenshot.Net 库将图像保存到磁盘
Saving Image to disk using Screenshot.Net library
希望大家一切都好。
我正在使用 Screenshot.Net library 从 WPF 应用程序截取屏幕截图的区域。我遇到的问题是将屏幕截图保存到项目文件夹中的目录中。
这是库当前保存图像的方式,但是它没有存储到任何目录:
public static BitmapSource ToBitmapSource(this Bitmap bitmap)
{
using (var stream = new MemoryStream())
{
bitmap.Save(stream, ImageFormat.Png);
var bitmapImage = new BitmapImage();
bitmapImage.BeginInit();
bitmapImage.StreamSource = new MemoryStream(stream.ToArray());
bitmapImage.EndInit();
bitmapImage.Freeze();
return bitmapImage;
}
}
我试过指定一个目录保存路径,但到目前为止还无法正常工作。任何关于如何进行的建议都将不胜感激。
首先,从 MemoryStream
中获取一个 byte[]
stream.Position = 0;
byte[] imgBytes = stream.ToArray();
然后,使用内置库进行编写。
string basePath="<Your path without File name>";
string fileName="<Your image name with extension>";
System.IO.File.WriteAllBytes(Path.Combine(basePath, fileName), imgBytes);
希望大家一切都好。
我正在使用 Screenshot.Net library 从 WPF 应用程序截取屏幕截图的区域。我遇到的问题是将屏幕截图保存到项目文件夹中的目录中。
这是库当前保存图像的方式,但是它没有存储到任何目录:
public static BitmapSource ToBitmapSource(this Bitmap bitmap)
{
using (var stream = new MemoryStream())
{
bitmap.Save(stream, ImageFormat.Png);
var bitmapImage = new BitmapImage();
bitmapImage.BeginInit();
bitmapImage.StreamSource = new MemoryStream(stream.ToArray());
bitmapImage.EndInit();
bitmapImage.Freeze();
return bitmapImage;
}
}
我试过指定一个目录保存路径,但到目前为止还无法正常工作。任何关于如何进行的建议都将不胜感激。
首先,从 MemoryStream
中获取一个byte[]
stream.Position = 0;
byte[] imgBytes = stream.ToArray();
然后,使用内置库进行编写。
string basePath="<Your path without File name>";
string fileName="<Your image name with extension>";
System.IO.File.WriteAllBytes(Path.Combine(basePath, fileName), imgBytes);