View.draw (canvas) оставляет серую рамку вокруг круглого png, установленного в ImageView - PullRequest
0 голосов
/ 14 февраля 2020

У меня есть ImageView, для которого src устанавливается прозрачный квадратный png с закругленными углами.

Я звоню View.draw(canvas) на ImageView, чтобы сделать скриншот. Он оставляет серую рамку вокруг закругленных углов, как изображение в ссылке

Что я могу сделать, чтобы удалить серую рамку?

Вот что я пробовал. .

        Bitmap viewBmp = Bitmap.createBitmap(wid, hgt, Bitmap.Config.ARGB_8888);
        Canvas canvas = new Canvas(viewBmp);
        if(isToMakeTransperant) canvas.drawColor(Color.TRANSPARENT);
        myView.draw(canvas);

Я уже пробовал установить PorterDuff.Mode.CLEAR в методе drawColor(). Это не сработало.

edit: да, isToMakeTransperant boolean всегда верно. Я жестко закодировал его для true для тестирования.

1 Ответ

0 голосов
/ 14 февраля 2020

вы можете создать переходное растровое изображение

Bipmap bimap = Bitmap.createBitmap(BitmaoFactory.decodeResource(context.getResources(), R.color.transtion), 0, 0, width, height);
...