http://community.csdn.net/Expert/topic/4737/4737570.xml?temp=.5620996

解决方案 »

  1.   

    width;//原始图象宽
    height//原始图象高
    XCen = (width+1)/2; //原始图象中心x坐标
    YCen = (height+1)/2;//原始图象中心y坐标
    θ = -θ;//反向
    NewW = abs(height*sinθ)+abs(width*cosθ)+1;//新图象宽
    NewH = abs(height*cosθ)+abs(width*sinθ)+1;//新图象高
    XNewCen = (NewW+1)/2;//新图象中心x坐标
    YNewCen = (NewH+1)/2;//新图象中心y坐标
    遍历新图象中的每个象素点(x′,y′),根据如下公式,转换到原始图象中
    象素点(x,y),这里的x,y为double型,然后选择插值方式,计算出新图象(x′,y′)
    中的象素值。
    y = (cosθ*(y′- yNewcenter)-sinθ*(x′-XNewCen))+YCen;
    x = (cosθ*(x′- xNewcenter)+sinθ*(y′-YNewCen ))+XCen;