如何解决如何在Android中获得高质量的位图?
如何在android中获得高质量的位图?
我制作了一个webView,因为我们有spring的web项目。我们想在PDA中使用该项目,并使用蓝牙打印机打印一些标签。所以我做了一个webView,我要打印的网页上有标签。 但是“ window.print”功能不适用于蓝牙打印机。 因此,我尝试在带有屏幕截图的webView中进行打印。
可悲的是,当我通过android中的Bitmap.createBitmap函数获得屏幕的位图时,它的质量确实很差。因此,它的打印质量很差。我想要打印出更好的分辨率。
如何获得更好的屏幕位图分辨率?
@RequiresApi(api = Build.VERSION_CODES.O) 公共位图createBitmapFromView(查看视图){
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,view.getMeasuredWidth(),view.getMeasuredHeight());
Bitmap bitmapa = Bitmap.createBitmap(width,height,Bitmap.Config.ARGB_8888);
Canvas c = new Canvas(bitmap);
view.draw(c);
return bitmap;
}
解决方法
禁用位图缩放
Options options = new BitmapFactory.Options();
options.inScaled = false;
Bitmap source = BitmapFactory.decodeResource(a.getResources(),path,options);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。