以角度在画布上绘制文本

时间:2012-06-28 13:01:29

标签: java android paint android-canvas

如何在画布上绘制文字,如Green rectangle中突出显示的下图所示。

enter image description here

我已经完成了以下代码....但是从这段代码中我可以在straight中编写文本。无法在angle处撰写文字。

Bitmap bmpLayered = Bitmap.createBitmap(bmpMain.getWidth(), bmpMain
                .getHeight(), Bitmap.Config.ARGB_8888);
        Canvas cv = new Canvas(bmpLayered);

Paint charPaint = new Paint();
        charPaint.setAntiAlias(true);
        charPaint.setStyle(Paint.Style.FILL);
        charPaint.setTextSize(24);
        charPaint.setColor(Color.BLACK);
        charPaint.setStrokeWidth(3);

cv.drawText("None", 570, 222, charPaint);

请帮我解决这个问题。

感谢。

2 个答案:

答案 0 :(得分:26)

cv.save();
cv.rotate(-45, x, y);
cv.drawText("your text here", x, y, paint);
cv.restore();

其中cv引用你的画布,x&你想要画的地方。

答案 1 :(得分:1)

将文本绘制到画布后,您可以旋转画布。

cv.drawText("None", 570, 222, charPaint);
//rotate the canvas
cv.rotate(45f);
// or around a pivot point
cv.rotate(45f, 100, 100);

Android Developer: Graphics-Canvas Rotate