一个小误区,关于mPaint.setStrokeWidth

关于画笔的setStrokeWidth方法 , 之前理解都只是这个是画笔宽度 , 可是实际上用起来在画某些图形的时候总觉得不对劲,尤其是画圆形想和边缘正切的时候, 仔细想想原来就是这个 方法的原因


画笔

mPaint = new Paint();
        mPaint.setStyle(Paint.Style.STROKE);

在(500,500)处想做出一个和屏幕左边相切的圆环应该怎么画?


半径设置成500??nonono  这么做肯定做不出来相切的   原因就是没有考虑到画笔宽度

假设画笔宽度是100   那么半径就应该设置成  R = 500 - (100 / 2 );

那么实际来操作试一下


mPaint.setStrokeWidth(100);
        canvas.drawCircle(500, 500, 450, mPaint);


最后效果就是圆环与屏幕左边上边相切了 ~~~ 虚拟机不行了 连不上了  就不上效果图了


如果想了解关于canvas的方法的话 可以看一下 我的另一篇文章 

超详细!!canvas常用方法大全











你可能感兴趣的:(疑难杂症)