您现在的位置: 爱51代码网 >> 范文 >> 文章正文
对Rectangle旋转了下,但是它的坐标仍然是之前的坐标,怎么获得旋转后的坐标

对Rectangle旋转了下,但是它的坐标仍然是之前的坐标,怎么获得旋转后的坐标

对Rectangle旋转了下,但是它的坐标仍然是之前的坐标,怎么获得旋转后的坐标?
代码如下:
                //要绘制的矩形
                var picRect = new RectangleF(RationPoint.X, RationPoint.Y, (float)innerWidth, (float)innerHeight);
                 Pcenter = new PointF(picRect.X + picRect.Width/2, picRect.Y + picRect.Height/2);
                //绘图平面以图片的中心点旋转
                graphics.TranslateTransform(Pcenter.X, Pcenter.Y);
                graphics.RotateTransform(_ShapeExAngle);
                //恢复绘图平面在水平和垂直方向的平移
                graphics.TranslateTransform(-Pcenter.X, -Pcenter.Y);

               //绘制图片
                graphics.DrawRectangle(borderPen, Rectangle.Ceiling(picRect));
                //重置绘图平面的所有变换
                graphics.ResetTransform();
PointF[] points = new PointF[] {  // 将原来四边形的4个顶点坐标放入数组  picRect.Location,  new PointF(picRect.Right, picRect.Top),  new PointF(picRect.Right, picRect.Bottom),  new PointF(picRect.Left, picRect.Bottom) };   graphics.Transform.TransformPoints(points); // 利用已经在Graphics上的变换对坐标进行转换   // 转换之后,points数组中的值就是你要的值,然后就看你自己的了。 


如果不想对Graphics进行变换,可以直接使用Matrix类,它的使用方法与在Graphics里基本相同

  • 上一篇文章:

  • 下一篇文章: 没有了
  • 最新文章 热点文章 相关文章
    undefined reference timer_crea
    linux文件/usr/lib破坏了,还原后
    linux上运行system函数时,print
    Failed to open eth0
    android手机无法与eclipse或电脑
    C/C++洗牌算法源代码
    servlet技术实现用户名唯一的验证
    E-business suite system servic
    ZOJ 3700 Ever Dream 文章中单词
    TortoiseGit和msysGit安装及使用
    ZOJ 3700 Ever Dream 文章中单词
    TortoiseGit和msysGit安装及使用
    sharepoint 2010 获取用户信息Us
    mysql主从同步延迟方案解决的学习
    生日旅行总结
    中小板生日快乐随感
    送生日快乐桑葚乳酪小蛋糕
    写给女儿的生日快乐
    总分公司财务核算
    恢复使用繁体字可行性研究报告
    C# GetCustomAttributes怎么
    asp.net 客户端如何加密
    asp.net两个单击事件如何互相
    server.mappath如何取得服务
    在js中动态添加表格行时,怎
    asp动态网站滚动字 如何链接
    Could not load file or ass
    asp.net线程中每隔段时间执行
    ASP.net的Button的背景色为何
    ASP.NET web打印代码
     



    设为首页 | 加入收藏 | 网站地图 | 友情链接 |