如何在android中的canvas方法中设置文本的宽度?

时间:2012-02-23 06:13:45

标签: android canvas

在我的应用程序中,我使用canvas绘制文本。现在我想设置绘制文本的宽度。我只能设置xy位置。我无法设置宽度和高度。

我的问题

更新  例如“印度是我的国家”或者如果有任何长度的文本,它会超出背景图像之外的画布。 我想打印“印度是

我的国家“如果我设定宽度意味着我认为它会进入下一行

 @Override
protected void onDraw(Canvas canvas1)
{
Paint paint = new Paint();
        Bitmap myBitmap = BitmapFactory.decodeResource(getResources(),R.drawable.ban_background);
        Bitmap resizeImage1=Bitmap.createScaledBitmap(myBitmap,590,350,false);
        canvas1.drawColor(Color.BLACK);
        canvas1.drawBitmap(resizeImage1,10,5, null);
        paint.setStyle(Paint.Style.FILL);
        paint.setAntiAlias(true);
        paint.setTextSize(25);
        paint.setColor(Color.BLUE);
        paint.setFakeBoldText(true);
        paint.setTextSize(20);
        paint.setStyle(Paint.Style.FILL_AND_STROKE);
        canvas1.drawText(CameraText, 100,175, paint);
        }
         }

2 个答案:

答案 0 :(得分:0)

我不确定你的意思,但你可以试试setStrokeWidth(2.0f)

我希望这会有所帮助:D

答案 1 :(得分:0)

我曾经如下创建一个位图,我可以设置宽度和高度

 Bitmap finalImage = Bitmap.createBitmap(IMAGE_WIDTH, IMAGE_HEIGHT,
            Bitmap.Config.RGB_565);
    Bitmap tempImage = Bitmap.createBitmap(IMAGE_WIDTH / 2, IMAGE_HEIGHT,
            Bitmap.Config.RGB_565);
    Canvas g = new Canvas(finalImage);
    Canvas gtemp = new Canvas(tempImage);
    g.drawColor(Color.WHITE);
    gtemp.drawColor(Color.WHITE);
    Paint pnt = new Paint();
    pnt.setColor(Color.BLACK);

    pnt.setTextAlign(Paint.Align.CENTER);
    pnt.setTextSize(40);
    pnt.setTypeface(font1);

    g.drawText(input, IMAGE_WIDTH / 2, 40, pnt);
    Rect grct = new Rect(0, 0, IMAGE_WIDTH, IMAGE_HEIGHT);
    Rect grctTemp = new Rect(0, 0, IMAGE_WIDTH / 2, IMAGE_HEIGHT);
    gtemp.drawBitmap(finalImage, grct, grctTemp, pnt);

`