我最近学习了如何使用“TransformedBitmap”和“RotateTransformed”类旋转 BitmapImage。现在我可以对图像进行顺时针旋转。但如何翻转图像呢?我找不到执行 BitmapImage 水平和垂直翻转的类。请帮我弄清楚该怎么做。例如,如果我的图像是看起来像“d”的绘图,那么垂直翻转会产生类似“q”的结果,水平翻转会产生类似“b”的结果。
使用缩放变换 http://msdn.microsoft.com/en-us/library/aa348048.aspx水平翻转的 ScaleX 为 -1,垂直翻转的 ScaleY 为 -1,应用于图像的RenderTransform
财产。使用RenderTransformOrigin="0.5,0.5"
在图像上确保图像围绕其中心翻转,因此您无需应用额外的 TranslateTransform 将其移动到位:
<Image Source="a.jpg" Padding="5" RenderTransformOrigin="0.5,0.5">
<Image.RenderTransform>
<ScaleTransform ScaleX="-1"/>
</Image.RenderTransform>
</Image>
用于水平翻转和
<Image Source="a.jpg" Padding="5" RenderTransformOrigin="0.5,0.5">
<Image.RenderTransform>
<ScaleTransform ScaleY="-1"/>
</Image.RenderTransform>
</Image>
对于垂直。
如果您想在代码隐藏中执行此操作,在 C# 中,它应该如下所示:
img.RenderTransformOrigin = new Point(0.5,0.5);
ScaleTransform flipTrans = new ScaleTransform();
flipTrans.ScaleX = -1;
//flipTrans.ScaleY = -1;
img.RenderTransform = flipTrans;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)