Как нарисовать контур вокруг фигуры на картинке? - PullRequest
0 голосов
/ 17 июня 2020

Как вы можете видеть на картинке, я хочу расширить части, которые я показываю стрелками, и нарисовать контур, есть ли способ сделать это?

Что я действительно хочу сделать, так это расширить матрицу сзади и нарисуйте на ней нормальный рисунок.

Click to see the picture Click to see the picture

1 Ответ

0 голосов
/ 21 июня 2020

Так что используйте это настраиваемое представление в качестве примера

введите описание изображения здесь

public class ViewHighLight extends View{
    final Bitmap bms; //source
    final Bitmap bmm; //mask
    final Paint paint;
    final int width = 4;
    final int color_highlight = 0xff00ff00;
    final int step = 15; // 1...45

    public ViewHighLight( Context context ){
        super( context );
        bms = BitmapFactory.decodeResource( getResources(), R.drawable.b );
        bmm = Bitmap.createBitmap( bms.getWidth(), bms.getHeight(), Bitmap.Config.ALPHA_8 );
        Canvas canvas = new Canvas( bmm );
        canvas.drawBitmap( bms,0,0, null );
        paint = new Paint( Paint.ANTI_ALIAS_FLAG );
        paint.setColor( color_highlight );
    }

    @Override
    protected void onDraw( Canvas canvas ){
        super.onDraw( canvas );

        // draw blur shadow
        for( int i = 0; i < 360; i+=step ){
            float x = width * (float)Math.cos( Math.toRadians( i ) );
            float y = width * (float)Math.sin( Math.toRadians( i ) );
            canvas.drawBitmap( bmm, x,y, paint );
        }
        //draw source bitmap on the top
        canvas.drawBitmap( bms, 0,0, null );

        //draw bitmap on the right for compare
        canvas.drawBitmap( bms, bms.getWidth(),0, null );
    }
}
...