gpt4 book ai didi

c# - 在 C# 中不使用 GDI+ 处理图像

转载 作者:太空宇宙 更新时间:2023-11-03 13:27:43 24 4
gpt4 key购买 nike

由于某些原因,我需要在不使用 GDI+ 的情况下编写一些图像处理函数。我需要能够对图像执行以下操作。

  • 在现有图像上绘制一些形状(主要是具有纯色背景的矩形)。我经常使用 GDI+ 中的 Graphics.DrawImage() 函数执行此操作。
  • 在现有图像上绘制文本。我经常使用 GDI+ 中的 Graphics.DrawString() 函数来执行此操作
  • 将图像保存到 MemoryStream。我经常通过 GDI+ 中的 Image.Save(stream, imgformat) 函数来执行此操作
  • 获取图像字节。我通常通过 MemoryStream.ToArray() 函数执行此操作。我需要 bytes,因为我需要能够使用 context.Response.BinaryWrite(imageBytes) 方法将图像发送到 HttpContext()

我已经看过 AForge.net , 但它缺少 Image.Save() 方法。它使用 GDI+ 的原生 Bitmap.Save() 方法。所以我似乎没有办法用 AForge 在 GDI+ 中生存。

我还查看了 OpenCV 及其 .NET 包装器 Emgu ,但经过 2 天的努力,我无法将该项目成功集成到我自己的项目中(我知道这听起来很傻,但这是事实。按照所有教程,可能有 20 多个 SO 帖子对此没有帮助,因为我的解决方案结构比(更复杂)常规解决方案多一点)。

我怎样才能做到这一点?请告诉我一些方法。你有没有遇到过这样的情况(你需要处理图像,但没有 GDI+)?还有哪些其他图书馆可以帮助我?

最佳答案

最近有一个项目正在积聚动力,恰本地称为“ImageProcessor”:https://github.com/JimBobSquarePants/ImageProcessor - 截至 2016 年 6 月,NuGet 报告下载量超过 344,000 次。

大约 8 个月前,Scott Hanselmann 做了一个专题,解释了 .NET Core 没有 System.Drawing 的动机(我注意到 Windows Azure 在网站角色中不正式支持 GDI):http://www.hanselman.com/blog/RFCServersideImageAndGraphicsProcessingWithNETCoreAndASPNET5.aspx

关于c# - 在 C# 中不使用 GDI+ 处理图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21816808/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com