如何在图像上写文字像评论android?

时间:2015-07-16 19:10:08

标签: android canvas

我正在研究从画廊和画廊拍摄照片的项目,我想在图像上添加文字评论

在画布中设置的图像,他们已经执行了一些绘图。

然后我想在该图像上添加文字。

喜欢蓝色应用

PicSay App

2 个答案:

答案 0 :(得分:1)

您可以使用以下方式将某些文字/视图覆盖在另一个视图上:

  • FrameLayout,轻松
  • ImageView,使用背景和图像源,简单但仅限于图像
  • 自定义视图覆盖onDraw()并在其上叠加文本/视图,更难

在第三种方法中,您完全负责绘图。例如,要在自定义视图的内容上绘制位图,可以像这样覆盖onDraw():

protected void onDraw (Canvas canvas) {
    super.onDraw(canvas);
    canvas.drawBitmap(mBitmap, 0, 0, mPaint);
}

答案 1 :(得分:1)

这有很多步骤涉及文本,位图,画布,矩形。例如:

  int textSize = textSizeBar.getProgress();
  String textToDraw = textIn.getText().toString();

  Bitmap newBitmap = bitmapOriginal.copy(bitmapOriginal.getConfig(), true);

  Canvas newCanvas = new Canvas(newBitmap);
  Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
  paint.setColor(Color.RED);
  paint.setTextSize(textSize);

  Rect bounds = new Rect();
  paint.getTextBounds(textToDraw, 0, textToDraw.length(), bounds);
  int x = 0;
  int y = newBitmap.getHeight();

  newCanvas.drawText(textToDraw, x, y, paint);

  image1.setImageBitmap(newBitmap);
  image2.setImageBitmap(newBitmap);

此示例来自这个非常好的网站:http://android-er.blogspot.com

完整代码可在此处找到:http://android-er.blogspot.com/2015/03/draw-text-on-bitmap.html

谢谢。