如何使用Windows Phone / C中的像素#
Windows Phone 8使用比例因子值缩放元素,因此所有像素都是虚拟的800×480,而ActualWidth/ActualHeight
等值则返回“假”800×400值。
我正在显示一个WritableBitmap
,它是在我的UI背景上动态构建的,并且希望它由所有可用像素构成,而不是缩放的800×480图像。 如何“禁用”缩放并将虚拟像素映射为实际设备像素?
我知道如何从比例因子计算值,但我希望它能够与图像背景一起使用,并且理想地完全禁用该function,因为它对于我们的特定用例是不必要的。
似乎没有办法“实际”做到这一点。 我最终做的就是假装,如果有人有更好的答案,我会乐意接受。
我使用了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;
看起来这实际上是正确使用图像并将图像的像素映射到屏幕而不是缩放它们。 这有点hackish所以,如果有更好的解决方案,我会很高兴听到它。
- 要求在FAIL上抛出特定exception类型的通用方法
- 指示generics返回动态类型的对象
- 如何在控制台应用程序中实现简单的基于文本的菜单?
- .GetType()。GetProperties()以不同的顺序返回属性
- 为什么初始化程序不能使用返回list 的属性?
- 如何使用DataContext.ExecuteQuery返回的未知类型的对象
- 检查我的WPF WebBrowser中的元素,使用“inspect element(s)”(IE,Chrome,Firefox)获取css路径(“copy css-path”)
- 使用Moqvalidation事件注册
- 单声道xbuild错误CS1548 – 密钥文件格式不正确