C#Bitmap.Save将图像保存为其他位置作为路径

时间:2010-08-05 16:43:50

标签: c# bitmap save

我正在做一个简单的图像调整大小,在最后我想保存它:

path = "C:\\new_image.jpg";
img.Save(path, jpegCodec, encoderParams);

问题是它保存到“....... \ Users \ Ervin \ AppData \ Local \ VirtualStore \”。 我做错了什么或者我错过了什么?

更新:我将路径更改为其他文件夹,并且可以正常工作。我似乎无法保存到C:\。

2 个答案:

答案 0 :(得分:3)

此版本的用户是您正在运行的用户,因为它没有写入权限直接写入C:驱动器这对Win7或Vista来说是新手我不是那个。

您可以通过以下方式解决此问题:

  1. 保存在C:
  2. 根目录以外的目录中
  3. 更改C:驱动器上的权限,以便管理员组以外的人员具有写访问权限。
  4. 使用提升的权限运行您的程序。
  5. ....... \ Users \ Ervin \ AppData \ Local \ VirtualStore \已添加,以帮助您在更新时修复旧版应用程序。您可能还会注意到虚拟商店中“程序文件”中的大量条目。这些程序试图在程序文件中写入自己的目录而不是像应该的那样写入%LOCALAPPDATA%。

答案 1 :(得分:1)

这是在Vista中引入的,名为Virtualization

  

文件虚拟化解决了这个问题   应用程序依赖的情况   关于存储文件的能力,例如   作为配置文件,在系统中   位置通常只能通过   管理员。将程序作为一个   这种情况下的标准用户可能会   导致程序失败   访问级别不足。

     

当应用程序写入系统时   位置只能写   管理员,Windows然后写道   所有后续文件操作到   Virtual下的用户特定路径   商店目录,位于   %LOCALAPPDATA%\ VirtualStore。后来,   当应用程序读回这个   文件,计算机将提供   一个在虚拟商店。因为   Windows安全基础架构   无需处理虚拟化   应用程序的帮助,   应用程序认为它能够   成功读写   编程文件。透明度   文件虚拟化启用   应用程序,以感知它们   写作和阅读受保护的   资源,实际上它们是   访问虚拟化版本。