/// <summary>
/// 通过输入的Grid尺寸和Image尺寸,计算缩放比例
/// </summary>
/// <param name="rectangleWidth">Grid宽度</param>
/// <param name="rectangleHeight">Grid高度</param>
/// <param name="initialWidth">Image宽度</param>
/// <param name="initialHeight">Image宽度</param>
/// <param name="angle">旋转角度</param>
/// <param name="scaleX">X缩放比例</param>
/// <param name="scaleY">Y缩放比例</param>
public static void CalculateScaling(double rectangleWidth, double rectangleHeight, double initialWidth, double initialHeight, double angle, ref double scaleX, ref double scaleY)
{
double radians = angle * Math.PI / 180; // 将角度转换为弧度
double cosValue = Math.Abs(Math.Cos(radians));
double sinValue = Math.Abs(Math.Sin(radians));
// 计算旋转后的宽度和高度
double rotatedWidth = initialWidth * cosValue + initialHeight * sinValue;
double rotatedHeight = initialHeight * cosValue + initialWidth * sinValue;
// 计算缩放比例
scaleX = rectangleWidth / rotatedWidth;
scaleY = rectangleHeight / rotatedHeight;
scaleX = initialWidth / rotatedWidth;
scaleY = initialHeight / rotatedHeight;
// 输出缩放比例
Console.WriteLine($"Angle: {angle}°, Scale X: {scaleX}, Scale Y: {scaleY}");
}
图片在固定的矩形框中进行旋转,保证图片高和宽比例不变,求图片缩放比例
最新推荐文章于 2025-05-14 16:48:28 发布
该代码提供了一个方法,用于根据给定的Grid尺寸、Image初始尺寸、旋转角度等参数,计算并输出旋转和缩放后的比例,以便在UI布局中适应新的尺寸要求。
1897

被折叠的 条评论
为什么被折叠?



