Я пробовал несколько разрешений:
1280x720
720x720
Даже если мое изображение имеет ширину 3840 (например, пример ссылки), функция поставить предел 372, и это работает, но не с высотой.
Я не могу контролировать высоту, и оно обрезает мое растровое изображение и печатает даже не половину его.
Мое растровое изображение представляет собой список, вероятно, шириной 372 и высотой 800.
Код:
Код: Выделить всё
EPSON e = new EPSON();
ConnectBluetooth("ThermalPrinter");
var outStream = (OutputStreamInvoker)socket.OutputStream;
string directory = System.IO.Path.Combine(Android.OS.Environment.ExternalStorageDirectory.AbsolutePath, Android.OS.Environment.DirectoryDownloads);
string logoPath = System.IO.Path.Combine(directory, "bmp.png");
var logo = System.IO.File.ReadAllBytes(logoPath);
byte[] buffer = null;
buffer = ByteSplicer.Combine(
e.PrintImage(logo, true, true, 372, 0)
);
await outStream.WriteAsync(buffer, 0, buffer.Length);
buffer = null;
socket.Close();
socket.Dispose();
Код: Выделить всё
byte[] PrintImage(byte[] image, bool isHiDPI, bool isLegacy = false, int maxWidth = -1, int color = 1)
PS: я уже изменил параметры PrintImage, но он по-прежнему печатает изображение «размера логотипа», а не все изображение. Если я уменьшу размер шрифта текста внутри моего растрового изображения, я увижу больше текста при его печати, так что это может быть высота того, что он напечатает, а не проблема для растрового изображения (когда я открываю его в галерее моего устройство идеальное).
Подробнее здесь: https://stackoverflow.com/questions/672 ... ge-esc-pos