2

私は次の方法を持っています:

protected void onDraw(Canvas i_Canvas) {            
        int x = (int) m_X;
        int y = (int) m_Y;

        Path path = new Path();
        path.addCircle(
            m_Cx,
            m_Cy,
            m_Radius,
            Path.Direction.CCW);
        i_Canvas.clipPath(path);

        Rect rect = new Rect(x, y, x + 240, y + 240);

        i_Canvas.drawBitmap(m_FullImageBitmap, rect, rect, m_Paint);
    }

これを使用して、ビットマップのトリミングされた領域を円形に作成しようとしています。

また、その円領域のエッジをぼかしたいです。例: 形状の端から中心に向かって 5px がぼやけます。どうすればこれを実装できますか?

4

1 に答える 1

1

画像を描画するときに BlurMaskFilter を適用する必要があると思います:

m_Paint = new Paint(0);
m_Paint.setColor(0xffffffff);
m_Paint.setMaskFilter(new BlurMaskFilter(8, BlurMaskFilter.Blur.NORMAL));
于 2012-10-21T15:12:02.883 に答える