마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안녕하세요!! webView에서 현재 화면을 bitmap으로 얻어오는데 화질이 너무 떨어집니다.

0 추천

안녕하세요

webview에서 보고 있는 화면을 bitmap으로 얻어와서 바코드 프린터로 출력하는 작업을 하고 있습니다.

 

바코드 프린터로 전송하기 위해서 꼭 화면을 bitmap으로 변환해야 하는데, 출력하면 화질이 너무 떨어지네요.

 

@RequiresApi(api = Build.VERSION_CODES.O)
    public Bitmap createBitmapFromView(View view) {
        
        Display display = getWindowManager().getDefaultDisplay();
        Point size = new Point();
        display.getSize(size);
  

        //Pre-measure the view so that height and width don't remain null.
        view.measure(View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED),
                View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED));

        //Assign a size and position to the view and all of its descendants
        view.layout(0, 0, view.getMeasuredWidth(), view.getMeasuredHeight());


        Bitmap bitmapa = Bitmap.createBitmap(width , height , Bitmap.Config.ARGB_8888);


        Canvas c = new Canvas(bitmap);

        view.draw(c);
 
        return bitmap;
    }

 

검색하면서 이것 저것 시도해 봤지만 모두 화질이 너무 떨어집니다. 

혹시 bitmap을 canvas로 그려줄 때나, BitmapFactory.Option 처럼 view에서 bitmap을 얻어올 때 

고화질이 되도록 설정할 수 있는 부분이 있을까요??

안드로이드 기초도 없이 무작정 시작한 작업이라 많이 부족하지만 답변 부탁드리겠습니다. 감사합니다.

BNAA (140 포인트) 님이 2020년 10월 12일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...