uwp 高分辨率缩略图
Posted
技术标签:
【中文标题】uwp 高分辨率缩略图【英文标题】:uwp highresolution Thumbnail 【发布时间】:2017-11-25 16:35:01 【问题描述】:我正在尝试将视频文件的缩略图放在更大的 xaml 元素上,例如:页面或网格的背景图像或页面上的顶部横幅。在这种情况下,我从以下代码中获得了正常的缩略图。看起来不错,因为它们的分辨率很低。
var imgSource = await MyVideoFile.GetScaledImageAsThumbnailAsync(ThumbnailMode.VideosView, 200, ThumbnailOptions.UseCurrentScale)
我想要高分辨率的缩略图。我应该将视频文件的帧提取为位图图像并使用它们吗?还是有办法获得特定大小的高分辨率缩略图?
【问题讨论】:
如果您的自定义有高分辨率屏幕,您可以使用 ThumbnailOptions.UseCurrentScale 获取高分辨率缩略图。 我已经在使用 UseCurrentScale,正如您在我提供的代码中看到的那样 但是你的屏幕分辨率不高。 你会用ffmpeg吗? 是的,我的屏幕分辨率是 1366 x 720 ,缩略图在我的屏幕上的小图像元素上看起来不错,但在较大的元素上看起来很糟糕,我怎样才能获得高分辨率图像,我只能在更大的元素?哪个在所有屏幕分辨率上看起来都不错? 【参考方案1】:我应该将视频文件的帧提取为位图图像并使用它们吗?或者有没有获得特定大小的高分辨率缩略图的方法?
这取决于您的要求。但根据您的描述,您可能不需要这样做。
我检查了您的代码。您已将固定值 200 设置为 requiredSize
。请阅读GetScaledImageAsThumbnailAsync(ThumbnailMode, UInt32, ThumbnailOptions)
方法的文档。它显示:
缩略图最长边缘的请求大小(以像素为单位)。 Windows 使用 requestedSize 作为指导,并尝试在不降低图像质量的情况下缩放缩略图。
这意味着“requiredSize”应该是 StorageItemThumbnail 对象的原始宽度。然后,在你原来的帖子中,你说:
我正在尝试将视频文件的缩略图放在更大的 xaml 元素上,例如:页面或网格的背景图像或页面上的顶部横幅。
如果 xaml 元素的大小比 StorageItemThumbnail 对象的原始大小大得多,那么它总是看起来很糟糕。
因此,我建议您可以通过较大元素的大小将动态“requiredSize”传递给GetScaledImageAsThumbnailAsync
方法,然后它将为您返回具有适当分辨率的缩略图。
例如:
var imgSource = await MyVideoFile.GetScaledImageAsThumbnailAsync(ThumbnailMode.VideosView, bigelement.Width, ThumbnailOptions.UseCurrentScale)
最后,文件还说:
如果 Windows 找不到可以缩放以满足请求大小的缩略图,则可能会返回更大的缩略图。如果没有更大的缩略图可用,则可能会返回小于请求大小的缩略图。
如果你在这种情况下,你可以考虑像你说的那样将视频文件的帧提取为位图图像。
【讨论】:
以上是关于uwp 高分辨率缩略图的主要内容,如果未能解决你的问题,请参考以下文章
有没有办法在没有信箱的情况下获得高分辨率的 YouTube 视频缩略图?
仅在 html css 中将缩略图的背景图像网格放大到更高的分辨率