我在扩展 View 中有一些代码设置,该 View 中有一些易于缩放的图形(类似于矢量)。 (我的比例尺设置为0-1.0)
我注意到当我将绘画填充设置为FILL时,在路径上绘制的文本看起来正确,但是当我将填充设置为描边(我只想要文本的轮廓)时,图像看起来像是在某段LSD行程中。这是我的示例代码:
Paint yellowPaint = Paints.getFillTextPaint(0.01f, 0xFFffea3e, 0.065f);
canvas.drawTextOnPath(mContext.getString(R.string.building_a_partnership),
Paths.getRoundedTextPath(mOuterCircleRectF, 280f, 350f),
0, -0.025f, yellowPaint);
public static Paint getFillTextPaint(float f, int color, float textSize) {
Paint textPaint = new Paint();
textPaint.setFlags(Paint.ANTI_ALIAS_FLAG);
textPaint.setStyle(Paint.Style.FILL);
textPaint.setColor(color);
textPaint.setTextSize(textSize);
textPaint.setStrokeWidth(f);
textPaint.setShadowLayer(0.002f, 0.0f, 0.0f, 0xFF000000);
textPaint.setTypeface(Typeface.SANS_SERIF);
return textPaint;
}
如果将Paint.Style从FILL更改为STROKE,则会得到以下图像。我已经使用了canvas.drawText(),并且可以很好地显示描边的字母。只有将其应用于路径时,它才会显得很奇怪。
最佳答案
显然,这是由于我的比例因子是0-1。.似乎有一个错误,即如何处理尺寸小于1.0的笔触。建议的解决方案是使用0-100的比例。