안녕하세요
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을 얻어올 때
고화질이 되도록 설정할 수 있는 부분이 있을까요??
안드로이드 기초도 없이 무작정 시작한 작업이라 많이 부족하지만 답변 부탁드리겠습니다. 감사합니다.