Я пытаюсь найти способ печати изображений на зебру и иметь много проблем.
Согласно документам:
Первая кодировка, известная как 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 и вычисления "размера". Но ни один из них не работает, и загрузка графики на принтер всегда прерывается.
Кто-нибудь смог сделать что-то подобное? Или знает, где я ошибаюсь?