我有一个保存图像的程序,但是当我调试它时出现了这个错误:
不支持给定路径的格式。
我想知道为什么它不受支持,以及如何解决这个问题。提前致谢
BitmapSource image = BitmapSource.Create(colorFrame.Width, colorFrame.Height,
96, 96, PixelFormats.Bgr32, null, pixels, stride);
ImageFormat format = ImageFormat.Jpeg;
string file_name = "C:\\Kinected\\Images\\Kinect" + bb1 + ".jpg";
image.Save(file_name, format);
我添加了代码,并且编译正确,但文件永远不会保存。这是代码:
string mypath = System.IO.Path.Combine(@"C:\", "Kinected", "Images");
if (!Directory.Exists(mypath))
{
Directory.CreateDirectory(mypath);
file_name = System.IO.Path.Combine(mypath, "Kinect 1" + bb1 + ".jpeg");
}
if (file_name == null)
{
return;
}
if (!Directory.Exists(file_name))
{
Directory.CreateDirectory(file_name);
}
我添加了以下所有代码,但仍然出现The given path's format is not supported.
错误。再次感谢。
BitmapSource image = BitmapSource.Create(
colorFrame.Width, colorFrame.Height, 96, 96, PixelFormats.Bgr32, null, pixels, stride);
totalFrames = colorFrame.FrameNumber;
ImageFormat format = ImageFormat.Jpeg;
if (PersonDetected == true)
{
if (!Directory.Exists(mypath))
{
Directory.CreateDirectory(mypath);
file_name = "C:\\Kinected\\Images\\Kinect 1 " + bb1 + ".jpeg";
}
if (file_name == null || mypath == null || image == null)
{
if (mypath == null)
{
mypath = System.IO.Path.Combine("D:/", "Kinected", "Images");
if (!Directory.Exists(mypath))
{
Directory.CreateDirectory(mypath);
}
}
if (file_name == null)
{
file_name = "D:\\Kinected\\Images\\Kinect " + bb1 + ".jpeg";
}
if (image == null)
{
image = BitmapSource.Create(
colorFrame.Width, colorFrame.Height, 96, 96, PixelFormats.Bgr32, null, pixels, stride);
}
}
if (totalFrames % 10 == 0)
{
if (file_name != null && image != null && format != null)
{
image.Save(file_name, format);//where I get the error
}
}
}
答案 0 :(得分:2)
始终制作路径
string mypath = Path.Combine(@"C:\", "Kinected", "Images");
产生此问题的领域很多。
<强> 1。确保创建路径。
if(!Directory.Exists(mypath))
Directory.CreateDirectory(mypath);
<强> 2。也许目录已经创建,但你没有权限是C:。将C:改为D:
string file_name = Path.Combine(@"D:\", "Kinect" + bb1 + ".jpg");
现在检查它是否在那里创建。
详细了解Save Method。
答案 1 :(得分:0)
尝试使用文件名:
string file_name = "c:\\example\\path\\afile.jpg";