画布drawTextOnPath并保存视图

时间:2018-08-29 11:07:59

标签: android canvas

当我使用画布在画布上绘制文本时

//mTextPaint initialized while initialize the view.
mTextPaint = new TextPaint();
mTextPaint.setAntiAlias(true);
mTextPaint.setColor(color);

//iPath move/line to some point on onTouchEvent()
canvas.drawTextOnPath(text, iPath, 0, 0, mTextPaint);

enter image description here

当我使用将该视图另存为JPEG时,

try {
    fos = new FileOutputStream(fname);
    v.getDrawingCache().compress(Bitmap.CompressFormat.JPEG, 100, fos);
} catch (Exception ex) {
    Toast.makeText(this, "Error Saving Image",
            Toast.LENGTH_LONG).show();
}

注意:初始化视图时添加了setDrawingCacheEnabled(true);
enter image description here

关于为什么会发生这种情况以及如何解决此问题的任何想法。

1 个答案:

答案 0 :(得分:0)

问题是默认字体。并且默认字体为Typeface.SANS_SERIF

我通过使用以下代码及其工作方式更改为Typeface.SERIF

mTextPaint.setTypeface(Typeface.SERIF);