我是否應該將視頻文件的幀作爲位圖圖像提取出來並使用它們?還是有一種獲得高分辨率的方法縮略圖的特定尺寸?
這取決於您的要求。但根據你的描述,你可能不需要這樣做。
我檢查了你的代碼。您已將固定值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不能找到一個縮略圖,它可以擴展以滿足要求的尺寸,更大可能會返回縮略圖。如果沒有更大的縮略圖可用,則可能會返回小於請求大小的縮略圖。
如果你在這種情況下,你可以考慮像你說的那樣,將視頻文件的幀作爲位圖圖像提取出來。
如果您的自定義具有高分辨率屏幕,您可以使用ThumbnailOptions.UseCurrentScale獲取高分辨率縮略圖。 – lindexi
我已經使用UseCurrentScale,你可以在我提供的代碼中看到 – touseef
但是你的屏幕不是高分辨率。 – lindexi