画像回転後のサイズ取得

x1*y1の矩形をN度回転させる場合、収まる矩形幅はいくつかという計算
画像処理とかでたまにつかうね。

#define _USE_MATH_DEFINES
#include

/**
@brief 回転後のサイズ取得
@param destWidth [o] 回転後の幅
@param destHeight [o] 回転後の高さ
@param srcWidth [i] 回転前の幅
@param srcWidth [i] 回転前の高さ
@param degree [i] 回転角度(360度)
*/
void rotateTest( long* destWidth , long* destHeight , long srcWidth , long srcHeight , double degree );


void rotateTest( long* destWidth , long* destHeight , long srcWidth , long srcHeight , double degree )
{
float rad = M_PI / 180.0 * degree;
double _cos = cos( rad );
double _sin = sin( rad );
*destWidth = (long)(fabs( srcWidth*_cos )+fabs( srcHeight*_sin ) + 0.5 );
*destHeight = (long)(fabs( srcWidth*_sin )+fabs( srcHeight*_cos ) + 0.5 );
}

間違ってたらごめんね