那个C++高手给解释一下怎么才能实现图形旋转 求代码
3个回答
展开全部
使用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
}
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
}
追问
出错了啊
追答
肯定啦,那是用GDI,还要配置环境,自己百度
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
opencv(二维),opengl(三维)都可以,如果要,我可以给你示例程序
追问
真的吗 请把示例发一下可以吗
追答
但发给你也不一定能运行,opencv(二维),opengl(三维)都是要相关配置的,我给你两个网站,你看一下如何配置,看一下功能,如果配置好了调用函数是个很容易的事情!
http://www.opencv.org.cn/index.php/Template:Doc
如果是opengl,在msdn中直接看void glRotated();就可以了,你的问题用opencv比较好!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
opencv 库中有好多对图像处理到函数。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询