GDI+ 从控制台应用程序保存映像时出错

本文关键字:映像 出错 保存 应用程序 控制台 GDI+ | 更新日期: 2023-09-27 18:31:57

我知道这个问题之前已经回答过,但不知何故,我无法从可用的解决方案中解决问题。

using (var stream = new FileStream(@"D:'test'6.png", FileMode.Open))
                { 
                    var path = @"D:'test1'";
                    using (var image = Image.FromStream(stream))
                    {
                        var newWidth = (int)(image.Width * 0.5);
                        var newHeight = (int)(image.Height * 0.5);
                        var thumbnailImg = new Bitmap(newWidth, newHeight);
                        var thumbGraph = Graphics.FromImage(thumbnailImg);
                        thumbGraph.CompositingQuality = CompositingQuality.HighQuality;
                        thumbGraph.SmoothingMode = SmoothingMode.HighQuality;
                        thumbGraph.InterpolationMode = InterpolationMode.HighQualityBicubic;
                        var imageRectangle = new Rectangle(0, 0, newWidth, newHeight);
                        thumbGraph.DrawImage(image, imageRectangle);
                        thumbnailImg.Save(path, image.RawFormat);
                    }
            }

当我运行以下代码时,我收到一个错误,因为

System.Drawing中发生了类型为"System.Runtime.InteropServices.ExternalException"的未处理异常.dll

其他信息:GDI+ 中发生一般错误。

GDI+ 从控制台应用程序保存映像时出错

path 变量不指向实际文件名,只指向文件夹名称。那是你的问题。:)

如果将其更改为

 var path = @"D:'test1'newImage.bmp";

或类似的它应该可以工作。(将扩展名更改为与您的输出图像格式匹配的内容)