C# 获取视频文件缩略图的方法

本文介绍了一种使用WPF在不依赖FFmpeg的情况下获取视频文件缩略图的方法。通过引用WindowsAPICodePack-Shell库,实现了简洁高效的视频缩略图获取功能。

想用WPF实现获取视频文件缩略图的功能,显示到ListView中,但是搜索一下发现,大家都是采用FFmpeg的方式来截取的。我感觉非常不好。首先,FFmpeg非常的大,集成到软件中非常不方便。再者是个命令行的工具,执行后生成一个图片,然后再次读取,也挺烦躁,所以想是否有其它更好更简便的方法呢?

Windows 资源管理器本身不靠任何第三方的组件都可以获取视频文件的缩略图,能否调用系统的功能呢?最后研究发现,通过系统的API可以实现。

需要NuGet引用一个库WindowsAPICodePack-Shell 

然后轻松一句话搞定:

using Microsoft.WindowsAPICodePack.Shell;
using System.Drawing;

public static class ImageTool
{
  public static Bitmap GetThumbnailByPath(string filePath)
  {
       ShellFile shellFile = ShellFile.FromFilePath(filePath);
       Bitmap thumbnail = shellFile.Thumbnail.ExtraLargeBitmap;
       return thumbnail;
  }
}

非常简单,直接返回了一个Bitmap,然后你对bitmap想如何操作都行了。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值