Образ чекового принтера Star Micronics из базы данных

У меня есть sm-t300i, и я пытаюсь понять, как распечатать изображение из базы данных. У меня есть данные изображения, но я не знаю, как их подключить. Я успешно добавил изображение из ресурсов, но не знаю, как это сделать из необработанных данных изображения. Код ниже взят из активов. Также по какой-то причине изображение в приведенном ниже коде не будет центрироваться, есть ли что-то еще, что мне нужно сделать, чтобы центрировать изображение. Спасибо.

  AssetManager assetManager = mContext.getAssets();
    InputStream istr = null;
    try {
        istr = assetManager.open("www/img/logo.bmp");
    } catch (IOException e) {
        e.printStackTrace();
    }

    Bitmap bm = BitmapFactory.decodeStream(istr);

    StarBitmap starbitmap = new StarBitmap(bm, false, 200);


    commands.add(new byte[] { 0x1b, 0x61, 0x01 }); //align center

    commands.add(starbitmap.getImageEscPosDataForPrinting(false,false));

person user1054513    schedule 25.05.2016    source источник


Ответы (1)


Похоже, вы можете просто преобразовать base64 и сделать его растровым изображением.

String imagex = "iVBORw0KGgoAAAANS  etc";
Bitmap bm = StringToBitMap(imagex);
StarBitmap starbitmap = new StarBitmap(bm, true, 600);
commands.add(starbitmap.getImageEscPosDataForPrinting(false,true));


public Bitmap StringToBitMap(String encodedString){
    try {
        byte [] encodeByte=Base64.decode(encodedString, Base64.DEFAULT);
        Bitmap bitmap=BitmapFactory.decodeByteArray(encodeByte, 0, encodeByte.length);
        return bitmap;
    } catch(Exception e) {
        e.getMessage();
        return null;
    }
}
person user1054513    schedule 26.05.2016