【发布时间】:2012-11-28 12:22:18
【问题描述】:
在 GDI+ 中,Graphics 对象有一个 TransformPoints 函数,它允许您指定设备到世界或世界到设备的坐标变换。在 SharpDX 中,我可以获取设备(独立)坐标并使用 Matrix3x2.TransformPoint(...) 将它们翻译到我的世界,但我该如何走另一条路呢?
另外,我正在做的是通过一系列转换,我最终在屏幕上绘制了一些我只知道在当前世界坐标中的东西,但我想在上面绘制一个文本标签。因此,我认为我需要回到设备坐标以正确绘制我的文本(即将 Identity 设置为转换;drawtext(device x,device y) -- 快乐的日子)。因此,如果有一个不涉及 TransformPoints 的直接解决方案,那我也会很高兴。
我正在使用 SharpDX,但我很乐意翻译任何 c++ 答案...
【问题讨论】:
-
并不是说我的线性代数很好,而是我在 d2d1.dll 中找到了 D2D1InvertMatrix,然后使用了那个倒置矩阵,这很好。看来这在 SharpDX 中没有公开??