公司有个项目中使用了热敏打印机,通过打印机打印手写签名,底层给我们的方法是传一个bitmap去打印,格式是bmp文件。
思路是这样的,通过手写界面截图bitmap——》转换成bmp文件保存SD卡——》打印SD卡中的bmp文件(手写签名),在截图要注意要设置图片缓存,setDrawingCacheEnabled
还有设置view的backgroud为white,不然截图是黑色。
public class BitmapUtil {
public static void createBitmap(View v) {
v.setDrawingCacheEnabled(true);//设置图片缓存
v.buildDrawingCache();
Bitmap bitmap = v.getDrawingCache();
if (bitmap != null) {
// ByteArrayOutputStream bos = new ByteArrayOutputStream();
// bitmap.compress(CompressFormat.PNG, 90, bos); 只能转成PNG、JPEG
// byte[] data = bos.toByteArray();
// img.setImageBitmap(BitmapFactory.decodeByteArray(data, 0,
// data.length));
int w = bitmap.getWidth(), h