我有一个应用程序,用户可以在其中绘制尺寸为 W = Match Parent 和 H = 250dp 的视图。
我需要将其调整为 W = 399 像素和 H = 266 像素,以便我可以通过蓝牙热敏打印机正确打印它。我得到了调整后图像的所需尺寸,但是,我得到的输出是原件的切碎版本,其尺寸是我想要的缩放尺寸。
这是我用来从视图中获取数据并调整其大小的代码。
Bitmap bitmap = Bitmap.createBitmap(mView.getWidth(), mView.getHeight(), Bitmap.Config.ARGB_8888);
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG, 90, stream);
//Resize the image
Bitmap resizedImage = Bitmap.createScaledBitmap(bitmap, 399, 266, false);
//code for resized
Canvas c = new Canvas(resizedImage);
c.drawColor(Color.WHITE);
c.drawBitmap(resizedImage, 0, 0, null);
mView.draw(c);
resizedImage.compress(Bitmap.CompressFormat.PNG, 90, stream);
我在这里做错了什么?
编辑:我认为问题在于我正在绘制调整大小的图像的画布很大,并且由于某种原因,draw 命令不起作用,每当我打印时,它都会打印该画布的原始内容。