通过泛型处理程序创建动态映像 (.gif)
本文关键字:映像 gif 动态 创建 泛型 处理 程序 | 更新日期: 2023-09-27 18:36:23
我已经使用库 Magick.Net 创建了算法以显示一点时间计数器,但是当我通过通用处理程序请求 gif 资源时返回静态图像,但是当我检查名为:"test.gif"的测试文件时,动态图像工作完美。为了更好地解释我,这是代码:
MagickImageCollection image = null;
image = ImageRenderMethods.CreateGIF((DateTime)eventDate);
var path = RequestContext.HttpContext.Server.MapPath("/Content/Images");
path += "''test.gif";
image.Write(path);
byte[] buffer = image.ToByteArray();
context.Response.ContentType = "image/gif";
context.Response.BinaryWrite(buffer);
context.Response.Flush();
所以我想知道为什么泛型处理程序的响应不是.gif的 dinamic 而是静态结果。
想知道如何通过泛型处理程序公开.gif Magick.Net 你需要将 MagickImageCollection 对象传递到 MemoryStream 中,最后传递给字节数组,即:
public static MemoryStream GetMemoryStreamResult(MagickImageCollection imageGif)
{
MemoryStream ms = new MemoryStream();
imageGif.Write(ms, MagickFormat.Gif);
ms.Seek(0, SeekOrigin.Begin);
return ms;
}
和调用类似:
var imageGif = ImageRenderMethods.GetMemoryStreamResult(image);
byte[] buffer = imageGif.ToArray();
希望这对某人有用。