0
private void RemoveUnfitChromosomes()
        {
            int[] buildingLW = new int[2 * buildingNo];     //2x for length & width

            for (int i = 0; i <= 2 * (buildingNo - 1);)        //working values to be changed for user input
            {
                buildingLW[i] = 30;     //l,x
                buildingLW[i + 1] = 10;     //w.y

                i = i + 2;
            }

            foreach (int[] chromosome in population)
            {
                int[] temp = new int[3 * buildingNo];
                List<Rectangle> building = new List<Rectangle>();

                Array.Copy(chromosome, temp, 3 * buildingNo);

                for (int j = 0; j < buildingNo; j++)
                {
                    building[j] = new Rectangle(temp[3 * j] - buildingLW[2 * j] / 2, temp[3 * j + 1] + buildingLW[2 * j + 1] / 2, buildingLW[2 * j + 1], buildingLW[2 * j]);

                    RotateTransform rotate = new RotateTransform();
                    rotate.Angle = temp[j+2];
                    rotate.CenterX = temp[j];
                    rotate.CenterY = temp[j+1];

                    building[j].RenderTransform= rotate;
                }

私の問題はここですbuilding[j].RenderTransform=rotate; 、この拡張メソッド RenderTransform が「System.Drawing.Rectangle」型の最初の引数を受け入れないようにします。長方形構造には回転の方法がないことを理解しています。私が持っている情報に混乱しているだけです。

上記は、コードの別の部分からデータをインポートし、それらのデータから構築された四角形を回転させようとしているコードです。参考までに、これらの長方形のいずれかが互いに交差するかどうかを確認しようとしています。http://msdn.microsoft.com/en-us/library/ms754009(v=vs.110).aspx?cs-save-lang=1&cs-lang=csharp#code-snippetの次のコードと混同しています-2 . 彼らのコードはpolyline2.RenderTransformを使用できたので、私にもできる方法はありますか?

オンラインで何時間も検索してみましたが、プログラミングは初めてで、人々が何を言っているのか時々理解できないので、質問が繰り返されたら申し訳ありません。お時間をいただきありがとうございます。

4

1 に答える 1

0

RenderTransform は拡張メソッドではなく、プロパティであり、Rectangle にもあります。System.Windows.Shapes.RectangleがSystem.Drawing.Rectangleではない

于 2013-11-22T07:14:48.543 に答える