Я пытаюсь найти способ распечатать изображения зебры, и у меня много проблем.
Согласно документации:
Первая кодировка, известная как B64, кодирует данные с использованием MIME Схема Base64. Base64 используется для кодирования вложений электронной почты ...
Base64 кодирует шесть битов в байтах для увеличения на 33 процента над незакрытыми данными.
Вторая кодировка, известная как Z64, сначала сжимает данные, используя алгоритм LZ77, чтобы уменьшить их размер. (Этот алгоритм используется PKZIP и является неотъемлемой частью PNG графический формат.)
Затем сжатые данные кодируются с использованием Схема MIME Base64, как описано выше.
Будет вычислен CRC. по данным в кодировке Base64.
Но там не так много информации.
В основном я пробовал кодировать с помощью
private byte[] GetItemFromPath(string filepath)
{
using (MemoryStream ms = new MemoryStream())
{
using (Image img = Image.FromFile(filepath))
{
img.Save(ms, ImageFormat.Png);
return ms.ToArray();
}
}
}
Затем пытался напечатать что-то вроде:
var initialArray = GetItemFromPath("C:\\RED.png");
string converted = Convert.ToBase64String(b);
PrintThis(string.Format(@"~DYRED.PNG,P,P,{1},0,:B64:
{0}
^XA
^F0200,200^XGRED.PNG,1,1^FS
^XZ", converted .ToString(), initialArray.Length));
Судя по звукам, принимаются оба варианта: B64 или Z64.
Я пробовал несколько вариантов и несколько методов для генерации CRC и вычисления «размера». Но похоже, что ничего не работает, и загрузка графики на принтер всегда прерывается.
Кому-нибудь удалось добиться чего-то подобного? Или знает, в чем я ошибаюсь?