非常感谢您光临『51海派博客』。51海派是一个以.NET 为开发平台的软件开发网站,本站提倡原创作品、高质量源码与论文,并无私奉献出控件源码。发布本站开发的所有软件为广大用户免费使用。并为有独特构思的用户免费开发定制性的软件以及控件。希望大家多多支持。本站内容遵从创作共同协议,如果转载请注明本站网址! 本站QQ群号:104677756 ,一起来交流吧!
根据中心点将某点旋转n度 c#
作者:ufo1199078 日期:2009-08-13
根据中心点将某点旋转n度
程序代码
/// <summary>
/// 根据中心点将某点旋转n度
/// </summary>
/// <param name="center">中心点</param>
/// <param name="point">旋转点</param>
/// <param name="angle">旋转角度</param>
/// <returns>旋转后的点</returns>
static PointF Rotate(PointF center, PointF point, float angle)
{
System.Drawing.Drawing2D.Matrix matrix = new System.Drawing.Drawing2D.Matrix();
matrix.Rotate(angle); // 构造一个逆时针旋转的矩阵
PointF[] points = { new PointF(point.X - center.X, point.Y - center.Y) }; // 把坐标原点移到'那个原点'那里
matrix.TransformPoints(points); // 旋转
return new PointF(center.X + points[0].X, center.Y + points[0].Y); // 把坐标原点移回去
}
程序代码/// <summary>
/// 根据中心点将某点旋转n度
/// </summary>
/// <param name="center">中心点</param>
/// <param name="point">旋转点</param>
/// <param name="angle">旋转角度</param>
/// <returns>旋转后的点</returns>
static PointF Rotate(PointF center, PointF point, float angle)
{
System.Drawing.Drawing2D.Matrix matrix = new System.Drawing.Drawing2D.Matrix();
matrix.Rotate(angle); // 构造一个逆时针旋转的矩阵
PointF[] points = { new PointF(point.X - center.X, point.Y - center.Y) }; // 把坐标原点移到'那个原点'那里
matrix.TransformPoints(points); // 旋转
return new PointF(center.X + points[0].X, center.Y + points[0].Y); // 把坐标原点移回去
}
评论: 0 | 引用: 0 | 查看次数: 675
发表评论
你没有权限发表评论!
上一篇
下一篇

文章来自:
Tags: 






