У меня есть некоторая настройка кода в расширенном представлении, которое делает некоторые рисунки, которые легко масштабируются (векторные). (Мой масштаб установлен как 0–1,0)
Я заметил, что когда я устанавливаю заливку краской на FILL, текст, нарисованный на контуре, выглядит правильно, но когда я устанавливаю заливку на обводку (мне просто нужен контур text) изображение выглядит так, как будто это какое-то ЛСД-путешествие. Вот мой пример кода:
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 ..