我正在拍照,并希望根据拍摄时间保存它们。
我还想在当前目录中创建一个名为/ pictures的文件夹,并将图片保存在该文件夹中。这是在C#和C#中完成的。 WPF。
这是我的代码:
Image newimage = new Image();
BitmapImage myBitmapImage = new BitmapImage();
myBitmapImage.BeginInit();
newimage.Source = Capture(true) // Take picture
myBitmapImage.UriSource = new Uri(@"c:\" +
string.Format("{0:yyyy-MM-dd_hh-mm-ss-tt}", DateTime.Now) + ".jpg");
// Gives error: Could not find file 'c:\2013-05-26_04-40-25-AM.jpg'
myBitmapImage.EndInit();
newimage.Source = myBitmapImage;
newstackPanel.Children.Add(newimage);
结果: 错误 无法找到文件'c:\ 2013-05-26_04-44-59-AM.jpg'。
为什么要查找文件VS只是将文件保存在c:\驱动器上?
答案 0 :(得分:1)
如果您只想将图像保存到磁盘,那么您应该使用BitmapEncoder类
JpegBitmapEncoder encoder = new JpegBitmapEncoder();
var image = Capture(true); // Take picture
encoder.Frames.Add(BitmapFrame.Create(image));
// Save the file to disk
var filename = String.Format("...");
using (var stream = new FileStream(filename, FileMode.Create))
{
encoder.Save(stream);
}
上面的示例创建了一个JPEG图片,但您想要的是任何编码器 - WFP附带Png,Tiff,Gif,Bmp和Wmp编码器内置。