esc pos установить размер страницы ESC W cmd

Я прочитал много документации о принтере ESC POS и до сих пор не понимаю, как работает cmd установки размера страницы (ESC W). Похоже, что старший и младший байт определяют позиции x-y.

это должно быть объяснение, я просто хочу понять, как я устанавливаю с его помощью некоторые позиции x, y

xL-xH - младший и старший байт начального горизонтального смещения

yL-yH - младший и старший байт начального вертикального смещения

dxL-dxH - младший и старший байты ширины страницы

dyL-dyH - младший и старший байты высоты страницы

введите описание изображения здесь


person Liran    schedule 04.03.2017    source источник


Ответы (1)


Проще говоря:

  • xL, yL, dxL, dyL - остаток от деления x, y, dx и соответственно dy на 256;
  • xH, yH, dxH, dyH - это целая часть после деления x, y, dx и соответственно dy на 256;

    public void setPageRegion(int x, int y, int width, int height) {
        outputStream.write(new byte[] { 27, 87, 
            (byte)(x & 255), (byte)(x >> 8 & 255), 
            (byte)(y & 255), (byte)(y >> 8 & 255), 
            (byte)(width & 255), (byte)(width >> 8 & 255), 
            (byte)(height & 255), (byte)(height >> 8 & 255) };
    }
    

вызов setPageRegion(0, 230, 830, 500) приведет к new byte[] { 27, 87, 0, 0, 230, 0, 62, 3, 244, 1}

person romi    schedule 24.01.2018
comment
Вы знаете, как установить единицу вертикального перемещения внутри области страницы? - person Thiago Sayão; 28.06.2019