从位图剪切半圆

时间:2015-12-01 18:34:28

标签: android

我正在尝试从位图中剪切出一个半圆形的块,以便它看起来像这样

enter image description here enter 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);

1 个答案:

答案 0 :(得分:0)

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