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,所以我也可以这样做吗?
我已经尝试在线搜索了几个小时,但我是编程新手,有时无法理解人们在说什么,所以如果问题重复,我深表歉意。感谢您的时间。