当前位置: 首页>>代码示例>>C#>>正文


C# DPoint.Offset方法代码示例

本文整理汇总了C#中DPoint.Offset方法的典型用法代码示例。如果您正苦于以下问题:C# DPoint.Offset方法的具体用法?C# DPoint.Offset怎么用?C# DPoint.Offset使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在DPoint的用法示例。


在下文中一共展示了DPoint.Offset方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: CalcSizeDelta

 DPoint CalcSizeDelta(DPoint pt, Figure f, bool lockAspectRatio)
 {
     if (lockAspectRatio && f.Width > 0)
     {
         pt = pt.Offset(-dragPt.X, -dragPt.Y);
         double m = f.Height / f.Width;
         DPoint intersectionPt = DGeom.IntersectionOfTwoLines(m, f.BottomRight, -1, pt);
         // using soh/cah/toa
         double h = DGeom.DistBetweenTwoPts(f.BottomRight, intersectionPt);
         double A = Math.Atan(m);
         // cos(A) = a/h
         double dX = Math.Cos(A) * h;
         // sin(A) = o/h
         double dY = Math.Sin(A) * h;
         // find out the angle of the line between the mouse pt and the botton left of the figure
         double angle = -(Math.Atan2(pt.Y - f.BottomRight.Y, pt.X - f.BottomRight.X) - Math.PI);
         // if the angle is on the topleft side (225 deg to 45 deg) then we are resizing smaller
         if (angle < Math.PI / 4 || angle > Math.PI + Math.PI / 4)
             return new DPoint(-dX, -dY);
         else
             return new DPoint(dX, dY);
     }
     else
         return new DPoint((pt.X - f.X) - f.Width - dragPt.X, (pt.Y - f.Y) - f.Height - dragPt.Y);
 }
开发者ID:djpnewton,项目名称:ddraw,代码行数:25,代码来源:DHsm.cs

示例2: EngineToClient

 public DPoint EngineToClient(DPoint pt)
 {
     pt = new DPoint(pt.X * scale, pt.Y * scale);
     return pt.Offset(-HortScroll + OffsetX, -VertScroll + OffsetY);
 }
开发者ID:djpnewton,项目名称:ddraw,代码行数:5,代码来源:DViewer.cs

示例3: RotatePoint

 public static DPoint RotatePoint(DPoint pt, DPoint origin, double angle)
 {
     if (angle == 0 || (pt.X == origin.X && pt.Y == origin.Y))
         return new DPoint(pt.X, pt.Y);
     // set to origin
     pt = pt.Offset(-origin.X, -origin.Y);
     // rotate point
     DPoint rotatedPt = new DPoint(pt.X * Math.Cos(angle) - pt.Y * Math.Sin(angle),
                                   pt.X * Math.Sin(angle) + pt.Y * Math.Cos(angle));
     // unset from origin
     rotatedPt = rotatedPt.Offset(origin.X, origin.Y);
     return rotatedPt;
 }
开发者ID:djpnewton,项目名称:ddraw,代码行数:13,代码来源:DGeom.cs


注:本文中的DPoint.Offset方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。