我正在尝试从位图中剪切出一个半圆形的块,以便它看起来像这样
我遇到的问题是正确缩放弧(使其小于位图)并将其定位在左边缘。如果我尝试在另一个象限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 :(得分:0)
使用弧线可能有些麻烦。由于您只需要一个半圆形剪辑,因此更简单,可能更直观的解决方案是使用Path#addCircle()
方法,并将其居中放置在画布左侧的中间。也就是说,将其居中于(0, c.getHeight() / 2)
。