我在轮子上图的设计工作,我需要在定位在360轮的文本帮助。
车轮有12个部分,30度的每一个。文氏从圆外行偏移应等于(或类似的至少)。像下面的图片我已经嘲笑了什么,我需要的最终结果。
到目前为止,我已经试过被分割每个部分为单独的变量如
$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位置较好,动态和智能的方式。
可以请你帮我有关?
您好我想你想找到一个给定的程度的给定圆上一点。下面是一个圆上计算点的功能。我认为你可以很容易地将它转换为任何其他语言。
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);
}