Android:将文本绘制为动态大小的位图

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android:将文本绘制为动态大小的位图相关的知识,希望对你有一定的参考价值。

This method draws a specified string to a Bitmap with the desired text width and text size.
  1. public static Bitmap drawText(String text, int textWidth, int textSize) {
  2. // Get text dimensions
  3. TextPaint textPaint = new TextPaint(Paint.ANTI_ALIAS_FLAG
  4. | Paint.LINEAR_TEXT_FLAG);
  5. textPaint.setStyle(Paint.Style.FILL);
  6. textPaint.setColor(Color.BLACK);
  7. textPaint.setTextSize(textSize);
  8. StaticLayout mTextLayout = new StaticLayout(text, textPaint,
  9. textWidth, Alignment.ALIGN_NORMAL, 1.0f, 0.0f, false);
  10.  
  11. // Create bitmap and canvas to draw to
  12. Bitmap b = Bitmap.createBitmap(textWidth, mTextLayout.getHeight(), Config.RGB_565);
  13. Canvas c = new Canvas(b);
  14.  
  15. // Draw background
  16. Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG
  17. | Paint.LINEAR_TEXT_FLAG);
  18. paint.setStyle(Paint.Style.FILL);
  19. paint.setColor(Color.WHITE);
  20. c.drawPaint(paint);
  21.  
  22. // Draw text
  23. c.save();
  24. c.translate(0, 0);
  25. mTextLayout.draw(c);
  26. c.restore();
  27.  
  28. return b;
  29. }

以上是关于Android:将文本绘制为动态大小的位图的主要内容,如果未能解决你的问题,请参考以下文章

如何在 CALayer 中绘制简单的位图文本?

Android 清除画布上绘制的位图

Android 在位图上绘制文本

调整可绘制图层列表内的位图大小 2

Android自定义View学习五---图片文本绘制

Android位图调整为中心文本