Windows Phone 8使用比例因子值来缩放元素,以便所有像素都虚拟为800x480,并且诸如ActualWidth/ActualHeight
“假” 800x400值之类的值将返回。
我要显示的WritableBitmap
是在用户界面的背景上动态构建的,希望它由所有可用像素(而不是缩放的800x480图像)构成。如何“禁用”缩放比例并将虚拟像素映射为真实设备像素?
我知道如何根据比例因子计算值,但是我希望它可以与图像背景一起正确使用,并且理想情况下完全禁用该功能,因为对于我们的特定用例而言,它是不必要的。
似乎没有办法“实际”执行此操作。我最终做的是伪造的,如果有人有更好的答案,我会很乐意接受。
我这样使用ScaleFactor的值:
scaleFactor = ((double)Application.Current.Host.Content.ScaleFactor) / 100.0;
然后,我这样创建了可写位图:
screen = new WriteableBitmap((int)(cl.ActualWidth * scaleFactor), (int)(cl.ActualHeight * scaleFactor));
并将其放在背景中:
backgroundImage.Stretch = Stretch.Fill;
看来这实际上是在正确使用图像并将图像的像素映射到屏幕,而不是缩放它们。这有点骇人听闻,所以如果有更好的解决方案,我将很高兴听到。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句