我在行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 。在撰写本文时