最近工作需要Android设备连接热敏打印机(送餐单子),需要打印两种图片,一种是生成的二维码,一种是drawable图片,第一种按照打印机的API来没有问题,第二种打印机有提供接口,但是当把图片放进去后打印出来往往都被拉伸或缩小变形了,后来只能转为 bitmap的图片,但是不同的打印机要求不同,有的需要重新画成bitmap有的直接转为bitmap就可以了,这个需要根据具体的打印机打印尝试:
方法一:
var widthTemp = width - 25
var heightTemp = height - 25
val bitmap = Bitmap
.createBitmap(
widthTemp,
heightTemp,
Bitmap.Config.RGB_565
) //按指定参数创建一个空的Bitmap对象
val canvas = Canvas(bitmap)
//canvas.setBitmap(bitmap);
drawable.setBounds(0, 0, widthTemp, heightTemp)
drawable.draw(canvas)
return bitmap首先规定bitmap的宽高,用bitmap的createBitmap方法创建一个bitmap,然后利用canvas和drawable的draw方法将drawable图片填充到bitmap上;
方法二:
drawable.toBitmap()
drawable自带方法直接转为bitmap
版权声明:本文为ysthuigui原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。