在 C# 中从内存流(视频)创建缩略图的最佳方法或库是什么
本文关键字:略图 最佳 方法 是什么 创建 内存 视频 | 更新日期: 2023-09-27 18:37:15
我必须创建多个缩略图并以 c# 保存在 Amazon s3 上。我没有找到只能从源文件从内存流创建缩略图的库。但是不能有文件源,我只有上传的流,我不想在本地保存文件。
感谢您的帮助!
简单的 c# 代码可以为你做到这一点。您可以从字节数组创建缩略图。首先通过以下代码将内存流对象转换为字节数组
byte[] bytes = memoryStream.ToArray();
然后你可以使用以下方法
public byte[] MakeThumbnail(byte[] myImage, int thumbWidth, int thumbHeight)
{
using (MemoryStream ms = new MemoryStream())
using (Image thumbnail = Image.FromStream(new MemoryStream(myImage)).GetThumbnailImage(thumbWidth, thumbHeight, null, new IntPtr()))
{
thumbnail.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
return ms.ToArray();
}
}
我没有找到只能从内存流创建缩略图的库 源文件
真?因为我不需要库 - 我可以用标准 C# 做到这一点。
System.Drawing.Bitmap 有一个接受流的构造函数。
但不能有文件源,
实际上你可以 - 它被称为临时文件,并且在 .NET(和 Windows)中有一个完整的机制。真。
但这不是必需的。阅读手册,创建一个位图(通过将字节数组打包到 MemoryStream 中),它应该可以工作。