gpt4 book ai didi

xaml - 是否可以告诉 Windows 8.1 应用程序不要放大特定元素?

转载 作者:行者123 更新时间:2023-12-04 19:36:49 26 4
gpt4 key购买 nike

我正在为我的应用程序中图像元素的源属性引用外部图像 url。

我有 3 个版本的图像,比例为 100、140 和 180,例如

myimage.scale-100.jpg
myimage.scale-140.jpg
myimage.scale-180.jpg

如果图像存在于应用程序中,您通常会像下面这样放置源,Windows 会根据设备的分辨率比例确定要加载的图像:

ms-appx:///Assets/Images/myimage.jpg

然而,由于我的 3 张图像存在于外部,所以我必须计算出分辨率比例,然后构建正确的源字符串,以便加载正确的图像,例如:

http://www.mywebsite.com/myimage.scale-180.jpg

这有效,但是,windows 正在获取我的图像,例如180 比例的一个 myimage.scale-180.jpg,然后再将其放大 180%,它不知道我已经以正确的 180% 比例加载图像并且它不需要缩放起来!

有没有办法告诉它不要放大特定的图像元素?

更新(添加代码):

xaml 图像元素:

<Image Source="{Binding Image, Converter={StaticResource ImageToExternalImagePathConverter}}" HorizontalAlignment="Left" VerticalAlignment="Top" Stretch="None" />

图像元素上使用的转换器以确定外部图像路径(它计算出比例并使用绑定(bind)来构建正确的字符串)。

public object Convert(object value, Type targetType, object parameter, string language)
{
ResolutionScale resolutionScale = Windows.Graphics.Display.DisplayInformation.GetForCurrentView().ResolutionScale;
string ImageScale = ".scale-100";
switch (resolutionScale)
{
case ResolutionScale.Scale140Percent:
ImageScale = ".scale-140";
break;
case ResolutionScale.Scale180Percent:
ImageScale = ".scale-180";
break;
}

//builds up the correct string e.g. http://www.mywebsite.com/myimage.scale-180.jpg
string externalPath = "http://www.mywebsite.com/" + (string)value + ImageScale + ".jpg";

return externalPath;
}

更新(添加引用):

要进一步解释我目前正在做的事情,请参阅此链接: http://msdn.microsoft.com/en-us/library/windows/apps/hh465362.aspx

Manually load images based upon scale percentage at runtime If your app is loading images at runtime using code, for example if you use DirectX directly, not XAML or HTML to create your UI, use the DisplayProperties.ResolutionScale property to determine the scale and manually load images based upon scale percentage.

这就是我正在做的,但问题是 Windows 将 UI 按比例放大到 140% 或 180%,其中包括我手动加载的图像。因此,如果我手动加载一个已经调整为 140% 的图像,它无论如何都会被 Windows 放大,而且它确实会变大。如果图像存在于应用程序包中,则不会存在此问题,因为 Windows 可以识别文件名标识符并且不会按比例放大它们(见下文)

Use resource loading for bitmap images in the app package For bitmap images stored in the app package, provide a separate image for each scaling factor(100%, 140%, and 180%), and name your image files using the "scale" naming convention described below. Windows loads the right image for the current scale automatically.

对于存在于应用程序包中的图像,但对于应用程序外部并手动加载的图像,我如何从 Windows 复制相同的行为?逻辑上,在我加载(代码)中的图像,我想对 Windows 说,这个图像已经正确缩放,不要按分辨率放大它。

最佳答案

尝试将 sizing grip 属性设置为 false

关于xaml - 是否可以告诉 Windows 8.1 应用程序不要放大特定元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22232283/

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