2017-06-22 27 views
0

我想将视频文件的缩略图放在更大的xaml元素上,例如:背景页面或网格的图像或页面上的顶部横幅。在这种情况下,我从下面的代码中得到正常的缩略图。看起来不错,因为它们分辨率低。uwp highresolution缩略图

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

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

+0

如果您的自定义具有高分辨率屏幕,您可以使用ThumbnailOptions.UseCurrentScale获取高分辨率缩略图。 – lindexi

+0

我已经使用UseCurrentScale,你可以在我提供的代码中看到 – touseef

+0

但是你的屏幕不是高分辨率。 – lindexi

回答

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不能找到一个缩略图,它可以扩展以满足要求的尺寸,更大可能会返回缩略图。如果没有更大的缩略图可用,则可能会返回小于请求大小的缩略图。

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