gpt4 book ai didi

c# - 从 LocalCache 在 WP 8.1 应用程序中打开缩放图像文件

转载 作者:太空宇宙 更新时间:2023-11-03 15:35:51 25 4
gpt4 key购买 nike

我开发了一个 Windows Phone 8.1 应用程序,它从我们的服务器下载一些数据并将这些文件复制到 ApplicationData.Current.LocalCacheFolder 文件夹中。文件夹中也有不同缩放比例的图片。例如:

  • image.scale-100.png
  • image.scale-140.png
  • image.scale-240.png

问题是如果不传递正确的文件名我就无法访问这些文件。如果我尝试打开 image.png,它将失败。但是如果我尝试打开例如image.scale-140.png 它运行良好。

如果我将图像作为资源插入到我的项目文件夹中,应用会决定哪个图像具有正确的显示器缩放比例并选择它们。

我能否让我的应用程序自动选择正确的图片?或者我必须手动确定比例并确定存在哪些图像?

最佳答案

你可以使用

Windows.Graphics.Display.DisplayInformation.GetForCurrentView().RawPixelsPerViewPixel;

这是所需的缩放比例,因此您可以尝试找到最接近实际所需缩放比例的图像,例如:

var possibleRatios = new List<double>();
possibleRatios.Add(1.0);
possibleRatios.Add(1.4);
possibleRatios.Add(2.4); //etc.
double ratio = Windows.Graphics.Display.DisplayInformation.GetForCurrentView().RawPixelsPerViewPixel;
double closest = possibleRatios.Aggregate((x,y) => Math.Abs(x-ratio) < Math.Abs(y-ratio) ? x : y);

string imageName = "image.scale-" + (int(closest * 100)).ToString() + ".png";

找到最接近缩放比例的算法取自这个问题的答案: How to get the closest number from a List with LINQ?

关于c# - 从 LocalCache 在 WP 8.1 应用程序中打开缩放图像文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31914920/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com