我正在研究触摸屏应用程序(WinRT),目前正在向屏幕绘制一些图形。因为它是触摸,我想启用捏缩放以缩放整个内容。为了获得更好的体验,我只想在捏合手势完成后重绘图形。对于中间缩放,我想重用当前位图,并执行(如果可能的话)仅限gpu的缩放(放大位图)。 基本上,我想要完成iOS和Windows Phone多年来一直在做的事情。
如何在Direct2D中实现此功能?
作为奖励,如果你知道在Direct2D阅读的好资源,请告诉我。 MSDN文档非常糟糕,我不得不寻找不同的博客和杂志文章来学习:(
到目前为止我尝试了什么:
m_target->SetTransform(
D2D1::Matrix3x2F::Scale(
D2D1::Size(1.5f, 1.5f),
D2D1::Point2F(500.0f, 500.0f))
);
但是,如果我为交互式元素(如页面放大/缩小)执行此操作,则会渲染所有对象(这也很慢)。 另一个选择可能是绘制到BITMAP并将其用作转换的基础。但是,我不确定这是否是一个好方法。 注意:我目前正在桌面上调试,但想要定位平板电脑。我不得不考虑平板电脑要慢几个数量级。这就是我尝试优化此功能的原因。
谢谢!