塗料がストロークに設定されている場合は、Android CANVAS.DrawTextOnPathが正しく表示されません

StackOverflow https://stackoverflow.com/questions/9493627

  •  14-11-2019
  •  | 
  •  

質問

私はいくつかの図面を描かれた眺めにいくつかのコード設定を持っています(ベクトルのような)。(My Scaleは0-1.0として設定されています)

私は私のペイントの塗りつぶしを埋めるように設定すると、パス上に描かれたテキストは正しいように見えますが、私がストロークに塗りつぶしを設定したとき(私はテキストの輪郭を望むだけ)画像があるように見えます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をいっぱいに変更した場合は、以下の画像が表示されます。canvas.drawtext()を使用しました、そしてそれはストローク文字を示すように機能します。それがすべての奇妙になるように思われるとき、それはパスに適用されたときにのみです。

image

ストローク画像

役に立ちましたか?

解決

どうやらこれは私のスケールファクタが0から1であるという事実によると、サイズ<1.0のサイズのストロークのレンダリングのどれだけのバグがあるようです。提案された解決策は0~100のスケールを使用することです..

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top