Я пытаюсь напечатать русский текст на принтере, но он не поддерживается, поэтому я решил распечатать изображение с текстом. Вот как я создаю изображение с текстом:конвертировать растровое изображение в 1 бит растровое изображение
public Bitmap textAsBitmap(String text, float textSize, int textColor) {
Paint paint = new Paint();
paint.setTextSize(textSize);
paint.setColor(textColor);
paint.setAntiAlias(true);
paint.setTypeface(Typeface.SANS_SERIF);
paint.setTextAlign(Paint.Align.LEFT);
//int width = (int) (paint.measureText(text) + 0.5f); // round
int width = 200; // round
float baseline = (int) (-paint.ascent() + 0.5f); // ascent() is negative
//int height = (int) (baseline + paint.descent() + 0.5f);
int height=60;
Log.e("height",height+"");
Log.e("width",width+"");
Bitmap image = Bitmap.createBitmap(width, 2*height, Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(image);
canvas.drawColor(Color.WHITE);
canvas.drawText(text, 0, baseline, paint);
baseline+=20;
canvas.drawText(text, 0,baseline , paint);
return image;
}
Он отлично работает. Но проблема в том, что этот китайский принтер печатает только 1 бит bitmap. Так что мне нужен способ преобразования этого изображения в 1 бит растрового изображения. Я попытался this решение , но я получил:
но это изображение плохо (
РЕШЕНИЕ НАЙДЕНО ответил я сам, смотри ниже
HI Я ищу то же самое. Можете ли вы рассказать мне после создания изображения, как ваше изображение отправки на принтер. – Murali