关于文本变扇形的算法思考

怎么把一个文本变换成扇形文本

这里有一基础是以哪一条线作为等长线做变换,我们来这里是假定以文字下边缘的线为等长线,这样等长线上的点的Y坐标(和圆心Y坐标的差值)等于变换后的这一点的角度(和0角度差值)的圆弧的长度是相等的。这样关键是确定这个角度(a),圆弧长度公式L=2*Pi*r*a/360  a=360L/(2*Pi*r)x=cos(a)*r y=sin(a)*r。这样就确定了一条线上点的位置,然后是其他的点。Y坐标相同的角度相同,x=cos(a)*(r+X) y=sin(a)*(r+X)   。这里的X,Y是和基点(即第文字左下角)的差值,x,y是变换后的点的坐标,r是圆心和基点的距离(即半径),L是弧长。

原文地址:https://www.cnblogs.com/cloudstep/p/5702057.html