1

如果这个问题被重复,那么让我知道原始问题的链接,因为我可以找到解决我当前问题的好链接。

我正在开发 android 相机,我可以从我的应用程序中拍摄图片。但我想在照片上写上名字。我能够找出我该如何解决这个问题。 在此处输入图像描述

对不起,我没有任何参考代码.....任何帮助将不胜感激,我想提前向你们所有人表示感谢。

4

1 回答 1

2

试试下面的代码。

public Bitmap drawTextToBitmap(Bitmap bitmap,  String mText) {
    try {

        android.graphics.Bitmap.Config bitmapConfig =   bitmap.getConfig();
        // set default bitmap config if none
        if(bitmapConfig == null) {
          bitmapConfig = android.graphics.Bitmap.Config.ARGB_8888;
        }
        // resource bitmaps are imutable,
        // so we need to convert it to mutable one
        bitmap = bitmap.copy(bitmapConfig, true);

        Canvas canvas = new Canvas(bitmap);
        // new antialised Paint
        Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
        // text color - #3D3D3D
        paint.setColor(Color.rgb(110,110, 110));
        // text size in pixels
        paint.setTextSize((int) (12 * scale));
        // text shadow
        paint.setShadowLayer(1f, 0f, 1f, Color.DKGRAY);

        // draw text to the Canvas center
        Rect bounds = new Rect();
        paint.getTextBounds(mText, 0, mText.length(), bounds);
        int x = (bitmap.getWidth() - bounds.width())/6;
        int y = (bitmap.getHeight() + bounds.height())/5;

        canvas.drawText(mText, x * scale, y * scale, paint);

        return bitmap;
    } catch (Exception e) {
        return null;
    }

  }
于 2013-10-31T05:25:28.923 回答