【问题标题】:Paint bordered text in a Canvas android在 Canvas android 中绘制带边框的文本
【发布时间】:2012-02-26 07:33:11
【问题描述】:

我想在 Canvas 中绘制类似的东西:

如何做边框效果?谢谢

【问题讨论】:

标签: java android android-layout


【解决方案1】:

绘制文本两次。首先用填充颜料绘制文本,如下所示:

Paint fillPaint = new Paint();
fillPaint.setColor(Color.MAGENTA);
canvas.drawText(.... fillPaint);

然后用这样的笔画再次绘制它:

Paint stkPaint = new Paint();
stkPaint.setStyle(Style.STROKE);
stkPaint.setStrokeWidth(8);
stkPaint.setColor(Color.WHITE);
canvas.drawText(.... stkPaint);

【讨论】:

  • +1,但不是最好先填充,然后描边吗?
  • @Samuel 如果你想在黑色描边上添加一个额外的描边,你会怎么做?
  • @MuhammadUmar 您可以使用不同的笔触颜色和宽度添加任意数量的绘图通道。只需使用不同的涂料再次致电canvas.drawText()
  • 我浏览了所有答案,这是最好的。不过我建议drawText(... , StrokePaint) 之前 drawText (... , TextPaint)
  • 要添加,你应该先画笔画。描边区域被添加到填充的文本区域周围,因此填充不会覆盖轮廓。但是有些字符的笔划也像“4”或“3”一样跨越了填充区域。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-12-15
  • 2014-06-08
  • 2021-10-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-11-02
相关资源
最近更新 更多