uwp highresolution Thumbnail

时间:2017-06-22 11:53:15

标签: c# image xaml uwp thumbnails

我正在尝试将视频文件的缩略图放在更大的xaml元素上,例如:background页面或网格的图像或页面上的顶部横幅。在这种情况下,我从下面的代码获得正常的缩略图。确实很好看,因为它们的分辨率很低。

var imgSource = await MyVideoFile.GetScaledImageAsThumbnailAsync(ThumbnailMode.VideosView, 200, ThumbnailOptions.UseCurrentScale)

我想要高分辨率缩略图。我应该将视频文件的帧提取为位图图像并使用它们吗?或者有没有办法获得特定尺寸的高分辨率缩略图?

1 个答案:

答案 0 :(得分:0)

  

我应该将视频文件的帧提取为位图图像并使用它们吗?还是有办法获得特定大小的高分辨率缩略图?

这取决于您的要求。但根据您的描述,您可能不需要这样做。

我检查了你的代码。您已将固定值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无法找到可以缩放以满足请求大小的缩略图图像,则可能会返回较大的缩略图。如果没有更大的缩略图可用,则可能会返回小于请求大小的缩略图图像。

如果你在这种情况下,你可以考虑像你说的那样将视频文件的帧提取为位图图像。