0

我有一个关于 android dev 的菜鸟问题。

我搜索如何画一条带有文字的线条。

我访问了很多网站谈论它,但没有人回答我。

我创建了这个功能:

private void creerLigne(float x, float y, float xend, float yend, int color) {

    Bitmap bmp = Bitmap.createBitmap(mImage.getWidth(), mImage.getHeight(), Config.ARGB_8888);
    Canvas c = new Canvas(bmp);
    mImage.draw(c);

    Paint p = new Paint();
    p.setColor(color);
    p.setTextSize(50);   

    Path path = new Path();

    path.moveTo(x - xend, y - yend);



    c.drawTextOnPath("42", path, 0,30,p);
    c.drawLine(x, y, xend, yend, p);
    mImage.setImageBitmap(bmp);
}

有了这个,我有一行和文字,但文字在左上角:(。

谢谢你的帮助。

4

1 回答 1

0

坐标x, y, xend, yend都是图像内的绝对位置,对吧?

在这种情况下,路径应构建为:

Path path = new Path();
path.moveTo(x,y);
path.lineTo(xend, yend);
c.drawTextOnPath("42", 0, 30, path, p); // baseline is 30 pixel above the path

在 Paint 中,您还可以设置标志以确保文本沿路径居中p.setTextAlign(Paint.Align.CENTER)

于 2013-10-02T06:21:47.420 回答