使用ImageProcessor从MemoryStream保存/加载图像时通用GDI 错误



我在行imagefactory.load(insteam)上有通用GDI 错误。我的项目是ASP.NET Core Razor-pages。

我试图将乐器插入新的流(在保存位图之前对我有帮助),但没有成功。

有人在处理类似的事情之前

// using ImageProcessor;
// using ImageProcessor.Imaging.Formats;
byte[] photoBytes = System.IO.File.ReadAllBytes(@"C:UsersUserDesktopimgimg.jpg");
            ISupportedImageFormat format = new JpegFormat();
            Size size = new Size(200,200);
            using (MemoryStream inStream = new MemoryStream(photoBytes))
            {
                using (MemoryStream outStream = new MemoryStream())
                {
                    var asd = inStream;
                    using (ImageFactory imageFactory = new ImageFactory(preserveExifData: true))
                    {
                        imageFactory.Load(inStream)
                            .Resize(size)
                            .Format(format)
                            .Save(@"C:UsersUserDesktopImgAdjusted");
                    }
                }
            }

根据@itminus答案 - 此库并非为.NET核心工作。

.net core

ImageProcessor的前3个替代品
  • System.Drawing.Common:跨平台GDI
  • Imagesharp:跨平台GDI
  • magick.net-仅Windows

旁边:System.Drawing.Common来自哪里?.NET Core最初不支持GDI 。然后,他们出现在Windows可比性库中,这将使您仅在Windows上获得GDI 。在撰写本文时

最新更新