1

グラフィックパス(多角形または長方形の形状)を作成して回転させるライブラリを作成していますが、回転した形状をその境界の長方形の中央に配置する必要があります。形状を中心で回転させるためにほとんどすべてを試しましたが、端で切断されています。

以下は、これを達成するために私が書いたいくつかのsmapleコードです

        GraphicsPath path = new GraphicsPath();
        path.AddPolygon(new Point[] { new Point(0, 0), new Point(100, 0), new Point(100, 100), new Point(0, 100) });
        Matrix m = new Matrix();
        Matrix m2 = new Matrix();
        m2.Rotate(30);
        m.Translate(-((path.GetBounds(m2).Width) / 2), -((path.GetBounds(m2).Height) / 2));
        m.Rotate(30, MatrixOrder.Append);
        m.Translate(((path.GetBounds(m2).Width)/2), ((path.GetBounds(m2).Height)/2), MatrixOrder.Append);
        path.Transform(m);
        Bitmap b = new Bitmap((int)path.GetBounds().Width, (int)path.GetBounds().Height);
        Graphics g = Graphics.FromImage(b);

        g.FillPath(Brushes.Blue, path);

        b.Save(@"c:\aSSETS\sample3.png");

助けてください。ありがとう

4

0 に答える 0