WPF 允许在图形对象上指定线性仿射变换。有了这个,您可以进行平移、旋转、缩放、倾斜或这些的组合。您可以指定 2x3 矩阵。
我想做的是在 2D 空间中进行透视转换,这需要 3x3 矩阵,并且可以从 Photoshop 或 GIMP 中了解,您可以在其中独立拖动图像的所有 4 个角。
我尝试使用WPF的3D功能,设置Viewport3D
,OrthographicCamera
并将(2D(对象放置在xy平面上。
但我想知道是否没有更简单的方法来完成 WPF 中的透视转换?
我问也是因为我想对文本进行透视转换:在 2D 中我可以使用TextBlock
,在 3D 中它变得更加合规,我必须从FormattedText
中用Geometry
创建一个Brush
。
正如你在这里读到的,有一些第三方库实现了Silverlight的PlaneProjection for WPF。
否则,您将被迫自己编写代码。(也许Microsoft会在 .NET 的未来版本中添加平面投影(