写入文本/数值在360度的圆

问题描述 投票:3回答:1

我在轮子上图的设计工作,我需要在定位在360轮的文本帮助。

车轮有12个部分,30度的每一个。文氏从圆外行偏移应等于(或类似的至少)。像下面的图片我已经嘲笑了什么,我需要的最终结果。

enter image description here

到目前为止,我已经试过被分割每个部分为单独的变量如

$section1_startX = 50;
$section1_endX = 70;
$section1_startY = 310;
$section1_endY = 480;

然后放置文本

imagettftext($im, 15, 0, $section1_startX, $section1_startY, $black, $font, "05");

但这是查找/计算每一行我需要放置的像素。

我相信有把文本在X,基于它在360圈值y位置较好,动态和智能的方式。

可以请你帮我有关?

php image-processing gd
1个回答
1
投票

您好我想你想找到一个给定的程度的给定圆上一点。下面是一个圆上计算点的功能。我认为你可以很容易地将它转换为任何其他语言。

public static PointF PointOnCircle(float radius, float angleInDegrees, Point origin)
{
    //radius -> Radius of Circle & Origin -> Circle Centre.
    // Convert from degrees to radians via multiplication by PI/180        
    float x = (float)(radius * Math.Cos(angleInDegrees * Math.PI / 180F)) + origin.X;
    float y = (float)(radius * Math.Sin(angleInDegrees * Math.PI / 180F)) + origin.Y;

    return new PointF(x, y);
}
© www.soinside.com 2019 - 2024. All rights reserved.