Android Canvas.DrawTexonPath ne semble pas correct lorsque la peinture est réglée sur

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

  •  14-11-2019
  •  | 
  •  

Question

J'ai une configuration de code dans une vue étendue qui fait des dessins qui sont facilement mis à l'échelle (vectoriel). (Mon échelle est configurée comme 0-1.0)

J'ai remarqué que lorsque je fixais mon remplissage de peinture pour remplir, le texte dessiné sur un chemin a l'air correct, mais lorsque je met le remplissage pour caresser (je veux juste le contour du texte), l'image semble être sur un voyage 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 la peinture. Style du remplissage au trait, j'obtiens les images ci-dessous. J'ai utilisé le canevas.DrawText () et cela fonctionne bien montrant les lettres caressées. Ce n'est que lorsqu'il est appliqué sur un chemin, quand il semble devenir bizarre.

Fill Image

Stroke Image

Était-ce utile?

La solution

Apparemment, cela est dû au fait que mon facteur d'échelle est de 0-1 .. il semble y avoir un bogue avec comment le rendu d'un accident vasculaire cérébral avec une taille <1,0 est traité. La solution suggérée consiste à utiliser une échelle de 0-100.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top