2015-12-01 77 views
1

我想剪辑半圆形大块出位图,以便它看起来像这样剪裁从位图

enter image description hereenter image description here

我在正确缩放的问题半圆弧(使其小于位图)并将其定位在左边缘上。如果我试图在另一个象限path.arcTo(rectF, 180-30, 60)中绘制弧线,那么该凹面指向错误的方向。

 Canvas c = new Canvas(sshotBitmap); 

     Path path = new Path(); 

     RectF rectF = new 
       RectF(0, 0, (int)((float)social.getWidth()), social.getHeight()); 

     path.reset(); 
     path.arcTo(rectF, -30, 60); 
     path.close(); 
     c.clipPath(path, Region.Op.DIFFERENCE); 
     social.draw(c); 
+0

改为使用'Path#addCircle()'方法并将其居中在'(0,c.getHeight()/ 2)'处,可能会更容易,更直观。 –

+1

@MikeM。作为回答发布,我会接受它。 – zx6r

回答

0

使用弧线可能有点麻烦。由于您只需要一个半圆形的剪辑,所以更简单并且可能更直观的解决方案是使用Path#addCircle()方法,并将其居中在画布左侧的中间。也就是说,集中在(0, c.getHeight()/2)