用java语言编写,怎么使输入的数字围成一个圆圈
2个回答
展开全部
使用Graphics2D对象
设置G2D的字体
将数字转字符串
计算字符串在G2D对象中的显示高度、宽度
FontRenderContext frc = g2.getFontRenderContext();
double totalW = font.getStringBounds(info, frc).getWidth();
计算字体高度
float ch = font.getLineMetrics(info, frc).getAscent();
将角度转弧度(180-->Math.PI)
设置初始角度为-Math.PI(即水平倒转方向)
循环每个字符
计算第N个字符的显示宽度CW
计算第N个字符显示宽度需要占用的角度CA=(CW * 2*Math.PI / totalW),
计算第N个字符字体的旋转角度(起始角度+CA/2)
设置G2D的字体为旋转字体
从圆心开始,以半径-字体高度CH为半径,起始角度为角度,计算第N个字符起始点(x,y)
使用G2D在x,y位置绘制第N个字符
循环结束
设置G2D的字体
将数字转字符串
计算字符串在G2D对象中的显示高度、宽度
FontRenderContext frc = g2.getFontRenderContext();
double totalW = font.getStringBounds(info, frc).getWidth();
计算字体高度
float ch = font.getLineMetrics(info, frc).getAscent();
将角度转弧度(180-->Math.PI)
设置初始角度为-Math.PI(即水平倒转方向)
循环每个字符
计算第N个字符的显示宽度CW
计算第N个字符显示宽度需要占用的角度CA=(CW * 2*Math.PI / totalW),
计算第N个字符字体的旋转角度(起始角度+CA/2)
设置G2D的字体为旋转字体
从圆心开始,以半径-字体高度CH为半径,起始角度为角度,计算第N个字符起始点(x,y)
使用G2D在x,y位置绘制第N个字符
循环结束
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询