Я пишу библиотеку для интерфейса C # с языком принтера EPL2. Одна из особенностей, которую я хотел бы попробовать реализовать, - это печать изображений, в документации спецификаций сказано:
p1 = Ширина графики Ширина графики в байтах. Восемь (8) точек = один (1) байт данных.
p2 = Длина графики Длина графики в точках (или печатных строках)
Данные = необработанные двоичные данные без графического форматирования файла. Данные должны быть в байтах. Умножьте ширину в байтах (p1) на количество строк печати (p2) для общего объема графических данных. Принтер автоматически вычисляет точный размер блока данных на основе этой формулы.
Я планирую сделать исходное изображение размером 1 бит на пиксель в формате bmp, уже масштабированное до размера. Я просто не знаю, как перевести его из этого формата в байт [], чтобы отправить его на принтер. Я попытался ImageConverter.ConvertTo(Object, Type)
, но это успешно, но массив, который он выводит, не имеет правильного размера, и в документации очень не хватает того, как форматируется вывод.
Мой текущий тестовый код.
Bitmap i = (Bitmap)Bitmap.FromFile("test.bmp");
ImageConverter ic = new ImageConverter();
byte[] b = (byte[])ic.ConvertTo(i, typeof(byte[]));
Любая помощь очень ценится, даже если она в совершенно ином направлении.