AlpacaTech Blog

ゲーム作りたい系草食動物の備忘録

画像回転後のサイズ取得

x1*y1の矩形をN度回転させる場合、収まる矩形幅はいくつかという計算

画像処理とかでたまにつかうね。

#define _USE_MATH_DEFINES

#include <math.h>

/**

@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 );

}

間違ってたらごめんね