コード例 #1
0
        static _SegmentParams BuildSegmentParams(byte[] bytes, int startIndex, int segmentType)
        {
            _SegmentParams segmentParams = new _SegmentParams();
            int            segmentLength = SegmentLength(segmentType);

            if (segmentType == (int)SegmentType.Arc)
            {
                segmentParams.Arc.CenterPoint = BuildPoint(bytes, startIndex);
                segmentParams.Arc.Bits        = BitConverter.ToInt32(bytes, startIndex + 16);
            }
            else if (segmentType == (int)SegmentType.Bezier3Curve)
            {
                segmentParams.BezierCurve.ControlPoint0 = BuildPoint(bytes, startIndex);
                segmentParams.BezierCurve.ControlPoint1 = BuildPoint(bytes, startIndex + 16);
            }
            else if (segmentType == (int)SegmentType.EllipticArc)
            {
                segmentParams.EllipticArc.Center          = BuildPoint(bytes, startIndex);
                segmentParams.EllipticArc.Rotation        = BitConverter.ToDouble(bytes, startIndex + 16);
                segmentParams.EllipticArc.SemiMajor       = BitConverter.ToDouble(bytes, startIndex + 24);
                segmentParams.EllipticArc.MinorMajorRatio = BitConverter.ToDouble(bytes, startIndex + 32);
                segmentParams.EllipticArc.Bits            = BitConverter.ToInt32(bytes, startIndex + 40);
            }
            return(segmentParams);
        }
コード例 #2
0
ファイル: ShapeObject.cs プロジェクト: iS3-Project/iS3
 static _SegmentParams BuildSegmentParams(byte[] bytes, int startIndex, int segmentType)
 {
     _SegmentParams segmentParams = new _SegmentParams();
     int segmentLength = SegmentLength(segmentType);
     if (segmentType == (int)SegmentType.Arc)
     {
         segmentParams.Arc.CenterPoint = BuildPoint(bytes, startIndex);
         segmentParams.Arc.Bits = BitConverter.ToInt32(bytes, startIndex + 16);
     }
     else if (segmentType == (int)SegmentType.Bezier3Curve)
     {
         segmentParams.BezierCurve.ControlPoint0 = BuildPoint(bytes, startIndex);
         segmentParams.BezierCurve.ControlPoint1 = BuildPoint(bytes, startIndex + 16);
     }
     else if (segmentType == (int)SegmentType.EllipticArc)
     {
         segmentParams.EllipticArc.Center = BuildPoint(bytes, startIndex);
         segmentParams.EllipticArc.Rotation = BitConverter.ToDouble(bytes, startIndex + 16);
         segmentParams.EllipticArc.SemiMajor = BitConverter.ToDouble(bytes, startIndex + 24);
         segmentParams.EllipticArc.MinorMajorRatio = BitConverter.ToDouble(bytes, startIndex + 32);
         segmentParams.EllipticArc.Bits = BitConverter.ToInt32(bytes, startIndex + 40);
     }
     return segmentParams;
 }