Android Paint stroke width positioning

时光怂恿深爱的人放手 提交于 2019-11-27 01:51:06

问题


Given this code to draw a line:

Paint p;

p = new Paint(Paint.ANTI_ALIAS_FLAG);
p.setColor(android.graphics.Color.WHITE);
p.setStyle(Paint.Style.FILL);
p.setStrokeWidth(21);

canvas.drawLine(0,50,100,50,p);

there are 3 possible stroke-drawing strategies:

  • Inside: The line is painted in the rectangle (0,50,100,70)
  • Center: The line is painted in the rectangle (0,40,100,60)
  • Outside: The line is painted in the rectangle (0,30,100,50)

In practice it appears that default behavior follows the Center strategy. Is it possible to modify a paint to produce results corresponding to one of the other strategies?


回答1:


No you can't; the stroke is always centered. The only things you can control are:

  • stroke miter
  • stroke cap
  • stroke join
  • stroke width

You must manually account for the stroke width when defining your drawing paths.



来源:https://stackoverflow.com/questions/15309029/android-paint-stroke-width-positioning

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!