J'ai un code configuré dans une vue étendue qui fait quelques dessins qui sont facilement mis à l'échelle (de type vectoriel). (Mon échelle est configurée de 0 à 1,0).
J'ai remarqué que lorsque je règle le remplissage de ma peinture sur FILL, le texte dessiné sur un chemin a l'air correct, mais lorsque je règle le remplissage sur stroke (je veux juste le contour du texte) l'image a l'air d'être dans un trip de LSD. Voici mon exemple de code :
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;
}
Si je change le Paint.Style de FILL à STROKE, j'obtiens les images ci-dessous. J'ai utilisé la fonction canvas.drawText() et cela fonctionne bien pour afficher les lettres tracées. Ce n'est que lorsqu'il est appliqué à un chemin d'accès que les choses deviennent bizarres.