这都是关于数学的.遗憾的是,我忘了那些我在scool中学到的东西.
好的,我试图在Javascript中以一定角度旋转(使用画布)后得到图像尺寸.

Pas*_*rby 10
由于我在这里没有MSPaint以外的任何工具,我会重新使用你的图片:

假设你的原始矩形的大小是R(ectangle)W(宽度)*RH(八),
在这种情况下RW=200,RH=80;
旋转一定角度A后,逆时针旋转,
其中0deg <= A <= 90deg以度(或0 <= A <= Math.PI/2弧度),
在这种情况下A=30deg或A=Math.PI/6,
在新的"外部"矩形中,每一面被两部分分开(为了便于描述;对应于图像).
在左侧,假设上部(紫色)部分称为N(ew)H(八个)U(p),下部(红色)部分称为NHL(ow);
底部的规则相同,我们有NW(宽)L(eft)(蓝色)和NWR(ight)(橙色).
所以新矩形的大小(面积)将是 (NHU + NHL) * (NWL + NWR)
根据定义sin和cos:
NWL = RW * Math.cos(A); //where A is in radians
NHL = RW * Math.sin(A);
NHU = RH * Math.cos(A);
NWR = RH * Math.sin(A);
Run Code Online (Sandbox Code Playgroud)
(如果你使用A的程度,更换A到Math.PI*A/180).
因此,新的"外部"宽度将是NWL + NWR,并且新的"外部"高度将是NHU + NHL,现在您可以计算所有内容.