我尝试过很多东西,但却做不到。我知道第一行=最后一列,但不知道如何交换这两行。
void pgm_cw(vector<IVec>& p) {
int rows = p.size();
int cols = p[0].size();
vector<IVec> temp; //2nd vector to hold rotated
temp.resize(cols);
for(int i = 0; i < cols; i++) {
temp[i].resize(rows);
}
}
答案 0 :(得分:0)
您可以在纸上制作图表:在矩形内绘制一个点,调用其坐标,例如x,y
并尝试&#34;猜测&#34;或&#34;估计&#34;它在旋转的矩形中具有坐标。请记住,坐标从0开始。我相信y,cols-x-1
,但请亲自检查。
然后执行嵌套循环,将像素值复制到相应的坐标。
size_t image1_x_limit = image1[0].size();
size_t image1_y_limit = image1.size();
for (size_t image1_y = 0; image1_y < image1_y_limit; ++image1_y)
{
for (size_t image1_x = 0; image1_x < image1_x_limit; ++image1_x)
{
size_t image2_x = image1_y_limit - 1 - image1_y;
size_t image2_y = image1_x;
image2[image2_y][image2_x] = image1[image1_y][image1_x];
}
}