那个C++高手给解释一下怎么才能实现图形旋转 求代码

2024-12-25 06:22:37
推荐回答(3个)
回答1:

使用GDI
void CAaaView::OnDraw(CDC* pDC)
{

CAaaDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);

Graphics graphics( pDC->m_hDC );
Image image(L"2.bmp");
Point points[] = { Point(0, 0), Point(image.GetWidth(), 0),
Point(0, image.GetHeight())};
Matrix matrix(1,0,0,1,230,10); // 定义一个单位矩阵,坐标原点在(230,10)
matrix.Rotate(30); // 顺时针旋转30 度
matrix.Scale(0.63,0.6); // X 和 Y 方向分别乘以0.63 和0.6 比例因子
matrix.TransformPoints(points, 3); // 用该矩阵转换points
graphics.DrawImage(&image, points, 3);

// TODO: add draw code for native data here
}

回答2:

opencv(二维),opengl(三维)都可以,如果要,我可以给你示例程序

回答3:

opencv 库中有好多对图像处理到函数。