【发布时间】:2015-07-08 15:14:17
【问题描述】:
我正在尝试将Bitmap 保存到我从中加载它的同一文件中。但是我无法这样做。我知道 .save() 函数的文档说“不要将图像保存到用于构造图像的同一流中。这样做可能会损坏流”,并认为这是我的问题的原因。 例如,如果我加载图像“a.jpg”,我无法将修改后的文件保存回“a.jpg”,我必须更改文件名。
这是我加载图片的代码:
std::string fullPath = imgFolderPath + "\\" + imageFileNames[i];
std::wstring wstr(fullPath.begin(), fullPath.end());
Bitmap* bitmap = new Bitmap(wstr.c_str());
我保存图像的代码是:
bitmap->Save(wstr.c_str(), &clsid, NULL);
当文件名不同时,这可以正常工作。有没有办法可以写入同一张图片?我宁愿“更新”图像,也不愿完全创建一个新图像。
【问题讨论】: