【发布时间】:2018-10-14 03:22:10
【问题描述】:
我目前正在使用 C# Windows 窗体创建一个图像大小调整程序。
所以,我让它用调整大小的图像覆盖现有图像。
我还制作了一个功能,使Originals文件夹并在其中保存原始图像,以便当我需要原始图像时可以使用文件夹中的图像。
下面是这个
for (int k = 0; k < openFileDialog.FileNames.Length; k++)
{
fileNames.Add(openFileDialog.FileNames[k]);
using (Stream stream = File.OpenRead(fileNames[k]))
{
//System.Collections.Generic.List<System.Drawing.Image>
selectedImages.Add(Image.FromStream(stream));
resizedImages.Add(Image.FromStream(stream));
}
filesCount++;
}
for (int k = 0; k < filesCount; k++)
{
string filePath = Path.GetDirectoryName(fileNames[k]);
Directory.CreateDirectory(filePath + "\\Originals");
string selectedFileName = filePath + "\\Originals\\" + Path.GetFileName(fileNames[k]);
string resizedFileName = filePath + "\\" + Path.GetFileNameWithoutExtension(fileNames[k]) + ".jpg";
//GetImageFormat is my function that return ImageFormat. It has no problem.
selectedImages[k].Save(selectedFileName, GetImageFormat(Path.GetExtension(fileNames[k])));
resizedImages[k].Save(resizedFileName, ImageFormat.Jpeg);
}
这里的问题是 selectedImages[k].Save 发出 GDI+ 通用错误,尽管 resizedImages[k].Save 工作得很好。
我认为这是因为我创建的文件夹但我找不到解决方案。
【问题讨论】:
标签: c# file gdi+ openfiledialog imaging