我正在用WPF为AR无人机四轴飞行器做一个接口。
我需要一些东西在我的HUD上,让它变得有用。
HUD上的一个更先进的控制是人工地平线,它告诉飞行员飞机当前与地平线的对准。
我有三个PNG
第一个图像我将移动(当前工艺的俯仰)和旋转(工艺的当前滚动)。
我会将第二张图片放在第一张图片上,这张图片只会绕着中心轴旋转,它有一定的刻度,这将使飞船的滚动更加直观。
最后一张我将放在第二张上面,这张图片只是一个视觉改进器。
然后,我想要遮罩第一张图像,以便您只看到图2中圆圈内的内容。
最后但并非最不重要的是,我想向其添加一个文本块并显示当前高度
结果将如下所示
我知道如何旋转和移动图像,但是如何将图像放在彼此的顶部,以及如何遮罩第一个图像?
编辑:感谢Ben,我已经走到了这一步:
但我还需要平移图像的Y位置(飞机的俯仰)
当我添加平移变换时,我也平移了剪辑(蒙版)如何在不移动蒙版的情况下平移图像?
发布于 2011-05-28 20:03:19
这是一个小示例,告诉你如何使用DrawingGroups
和其中的一个ClipGeometry
。
<Grid>
<Image Source="Images\Background.jpg" />
<Image>
<Image.Source>
<DrawingImage>
<DrawingImage.Drawing>
<DrawingGroup>
<DrawingGroup>
<!-- You can rotate a DrawingGroup -->
<DrawingGroup.Transform>
<RotateTransform Angle="-15" CenterX="50" CenterY="50" />
</DrawingGroup.Transform>
<ImageDrawing ImageSource="Images\last.png" Rect="0,0,100,100" />
<DrawingGroup.ClipGeometry>
<EllipseGeometry Center="50,50" RadiusX="25" RadiusY="25" />
</DrawingGroup.ClipGeometry>
</DrawingGroup>
<DrawingGroup>
<ImageDrawing ImageSource="Images\middle.png" Rect="0,0,100,100" />
<ImageDrawing ImageSource="Images\outer.png" Rect="0,0,100,100" />
</DrawingGroup>
</DrawingGroup>
</DrawingImage.Drawing>
</DrawingImage>
</Image.Source>
</Image>
</Grid>
发布于 2011-05-30 17:36:40
我昨晚很累:D为了让背景旋转和平移,而不是剪辑,就是把背景放在一个子组中,放到剪贴组中……现在它起作用了!
<Image Width="240" Height="240">
<Image.Source>
<DrawingImage>
<DrawingImage.Drawing>
<DrawingGroup>
<DrawingGroup>
<DrawingGroup>
<DrawingGroup.Transform>
<TransformGroup>
<RotateTransform Angle="-15" CenterX="120" CenterY="120" />
<TranslateTransform Y="-20" />
</TransformGroup>
</DrawingGroup.Transform>
<ImageDrawing ImageSource="Images\pNxVK.png" Rect="0,0,240,240" />
</DrawingGroup>
<DrawingGroup.ClipGeometry>
<EllipseGeometry Center="120,120" RadiusX="60" RadiusY="60">
</EllipseGeometry>
</DrawingGroup.ClipGeometry>
</DrawingGroup>
<DrawingGroup>
<ImageDrawing ImageSource="Images\zUr8D.png" Rect="0,0,240,240" />
<ImageDrawing ImageSource="Images\XPZW9.png" Rect="0,0,240,240" />
</DrawingGroup>
</DrawingGroup>
</DrawingImage.Drawing>
</DrawingImage>
</Image.Source>
</Image>
https://stackoverflow.com/questions/6161351
复制相似问题