读书人

问上C++里面怎么实现图片的像素旋转放

发布时间: 2012-08-25 10:06:20 作者: rapoo

问下C++里面如何实现图片的像素旋转放大
double fi,fj,rvalue;
for(int i=0;i<640;i++){ //得到圆形图象
for(int j=0;j<480;j++){
fi=(double)i;
fj=(double)j;
rvalue=(float)(640-2*sqrt((fi-320.0)*(fi-320.0)+(fj-240.0)*(fj-240.0)));
px[i+j*640]=rvalue;
py[i+j*640]=(float)(((atan2((fi-320.0),(fj-240.0))/3.141592)+1.0)*0.5*(480-1));

}
}

这个是实现图像的旋转,问怎么使她绕着中心的旋转放大,还有atan2((fi-320.0),(fj-240.0))/3.141592)这句代码是什么意思!

[解决办法]
自己按照数学方法进行旋转,这种搞图像的用MATLAB比较惬意
[解决办法]
计算机图形学就是纯数学,没搞过,友情帮顶
[解决办法]

探讨

可我用的是C++,而且是像素,不是图片的旋转

[解决办法]
图形旋转?
参考这里。

这些常见算法,百度谷歌都搜索得到。


[解决办法]
到MSDN上查找“GDI+ Matrix的C++几何变换类TransformMatrix”

数学原理可参考拙作:
Android中图像变换Matrix的原理、代码验证和应用(一)
这篇是纯粹将数学原理的,和编程语言无关。

其后两篇是在Android上用Java写的验证代码,以及模拟iPhone上用手势旋转、缩放、平移图像。

GDI+中有非常类似的功能,所以建议楼主去看看。OpenGL中也有滴。
[解决办法]
没看懂,楼主这是哪找的代码,你是想实现一个球面镜效果么?
[解决办法]
我帮你询问了些朋友,可是都不太清楚,你自己看在寻求喜爱高手吧。

读书人网 >C++

热点推荐