FAQ TBarCode .NET
Как сохранить штрихкод в формате 4 бита/пиксель?
Как сохранить штрихкод в формате 4 бита/пиксель?
Сначала создайте штрихкод в стандартном пиксельном формате (Format32bppArgb):
System.Drawing.Size optimalSize = myBarcode.CalculateOptimalBitmapSize(null, 2, 2); myBarcode.BoundingRectangle = new Rectangle(0, 0, optimalSize.Width, optimalSize.Height); Bitmap barcodeImage = myBarcode.DrawBitmap();
Затем преобразуйте его в растровое изображение с нужным вам пиксельным форматом:
Bitmap converted = barcodeImage.Clone (new Rectangle(0, 0, barcodeImage.Width, barcodeImage.Height), PixelFormat.Format4bppIndexed); // MessageBox.Show(converted.PixelFormat.ToString());
Даже если вы используете escape-последовательность для двоичных данных, кодировщик применит преобразование кодовой страницы (пример: \x88 приводит к другому значению в Data Matrix, чем требуется).
Решение:
- Отключите преобразование кодовой страницы (используйте режим кодирования LowByte)
- Принудительно включите режим двоичного кодирования, если он доступен (см. режим кодирования PDF417, Data Matrix EnforceBinaryEncoding)
Актуально для DP Premium Address и других приложений, где вы кодируете двоичные данные в 2D-символе (Data Matrix и т.д.).