Как нарисовать перекрывающиеся круги с радиальным градиентом по краю в прямоугольнике?

Я хочу нарисовать прозрачные круги внутри черного прямоугольника, и круги частично перекрываются. Я успешно сделал это, используя PorterDuffXfermode(Mode.SRC_OUT), чтобы обрезать два прозрачных круга из черного прямоугольника, но теперь я хочу добавить радиальный градиент (от прозрачного к черному) по краю Может кто-нибудь сказать мне, как это сделать? Обратите внимание, что это не просто один круг. У меня есть как минимум два круга, перекрывающиеся

большое спасибо!

что делает мой код: https://www.dropbox.com/s/xbr2abgb4esorrj/img1.jpg?dl=0

что я хочу: https://www.dropbox.com/s/7ihsz77ukbsj1wf/img2.jpg?dl=0

Bitmap bitmap = Bitmap.createBitmap(mDimension, mDimension, Bitmap.Config.ARGB_8888);
        Canvas canvas = new Canvas(bitmap);
        canvas.setMatrix(matrix);
        Paint paint = new Paint();
        paint.setColor(Color.BLACK);
        paint.setAlpha(200);

        paint.setColorFilter(createDimFilter());
        canvas.drawRect(0, 0, canvas.getWidth(), canvas.getHeight(), paint);

        for (Point p : mPoints) {
            Paint transparentPaint = new Paint();
            transparentPaint.setColor(Color.TRANSPARENT);
            transparentPaint.setXfermode(new PorterDuffXfermode(Mode.SRC_OUT));

            transparentPaint.setAntiAlias(true);
            canvas.drawCircle((float) p.x, (float) p.y, radius, transparentPaint);//
            transparentPaint.setXfermode(null);

        }

0 ответов

Другие вопросы по тегам