Java Android位图调整到文本中心

Java Android位图调整到文本中心,java,android,text,bitmap,center,Java,Android,Text,Bitmap,Center,我使用下面的函数从文本中获取位图。 我无法将文本定位在位图的中心。 下面所有案例都要居中的单一规则 “我” “W” “西医” “智商” 请忽略使用的函数和变量的不同命名方式。经过一整天的努力,我得到了这个文本中心。 通过以下链接的帮助 这是为了帮助所有我不想像我一样挣扎的人 Bitmap DevImjBmpFrmTxtFnc(String TxtSrgPsgVal) { int TxtSyzVal = 100; TextPaint PenPytVaj = new TextPai

我使用下面的函数从文本中获取位图。 我无法将文本定位在位图的中心。 下面所有案例都要居中的单一规则

“我” “W” “西医” “智商”


请忽略使用的函数和变量的不同命名方式。

经过一整天的努力,我得到了这个文本中心。
通过以下链接的帮助

这是为了帮助所有我不想像我一样挣扎的人

Bitmap DevImjBmpFrmTxtFnc(String TxtSrgPsgVal)
{
    int TxtSyzVal = 100;
    TextPaint PenPytVaj = new TextPaint(ANTI_ALIAS_FLAG);
    PenPytVaj.setTextSize(TxtSyzVal);
    PenPytVaj.setColor(Color.BLACK);
    PenPytVaj.setTextAlign(Paint.Align.LEFT);

    Rect TxtRctVar = new Rect();
    PenPytVaj.getTextBounds(TxtSrgPsgVal, 0, TxtSrgPsgVal.length(), TxtRctVar);
    Bitmap TxtImjBmpVar = Bitmap.createBitmap(TxtSyzVal * 2, TxtSyzVal * 2, Bitmap.Config.ARGB_8888);

    Canvas ImjCanvasVaj = new Canvas(TxtImjBmpVar);
    float XcoVal = ImjCanvasVaj.getWidth() / 2 - TxtRctVar.width() / 2  - TxtRctVar.left;
    float YcoVal = ImjCanvasVaj.getHeight() / 2 + TxtRctVar.height() / 2  - TxtRctVar.bottom;
    ImjCanvasVaj.drawText(TxtSrgPsgVal, XcoVal, YcoVal, PenPytVaj);
    return TxtImjBmpVar;
}
Bitmap DevImjBmpFrmTxtFnc(String TxtSrgPsgVal)
{
    int TxtSyzVal = 100;
    TextPaint PenPytVaj = new TextPaint(ANTI_ALIAS_FLAG);
    PenPytVaj.setTextSize(TxtSyzVal);
    PenPytVaj.setColor(Color.BLACK);
    PenPytVaj.setTextAlign(Paint.Align.LEFT);

    Rect TxtRctVar = new Rect();
    PenPytVaj.getTextBounds(TxtSrgPsgVal, 0, TxtSrgPsgVal.length(), TxtRctVar);
    Bitmap TxtImjBmpVar = Bitmap.createBitmap(TxtSyzVal * 2, TxtSyzVal * 2, Bitmap.Config.ARGB_8888);

    Canvas ImjCanvasVaj = new Canvas(TxtImjBmpVar);
    float XcoVal = ImjCanvasVaj.getWidth() / 2 - TxtRctVar.width() / 2  - TxtRctVar.left;
    float YcoVal = ImjCanvasVaj.getHeight() / 2 + TxtRctVar.height() / 2  - TxtRctVar.bottom;
    ImjCanvasVaj.drawText(TxtSrgPsgVal, XcoVal, YcoVal, PenPytVaj);
    return TxtImjBmpVar;
}