e.Graphics.DrawImage меняет мое изображение штрих-кода - PullRequest
1 голос
/ 03 августа 2020

Я создал изображение штрих-кода с помощью iTextSharp:

public static Image GetCodigoBarra(TipoCodigoBarra tipoCodigo, string valorAcodificar)
{
    Barcode brCD;
    switch (tipoCodigo)
    {
        case TipoCodigoBarra.CODE128: brCD = new Barcode128(); brCD.CodeType = Barcode.CODE128; break;
        case TipoCodigoBarra.EAN13: brCD = new BarcodeEAN(); brCD.CodeType = Barcode.EAN13; break;
        case TipoCodigoBarra.EAN8: brCD = new BarcodeEAN(); brCD.CodeType = Barcode.EAN8; break;
        case TipoCodigoBarra.UPCA: brCD = new Barcode128(); brCD.CodeType = Barcode.UPCA; break;
        case TipoCodigoBarra.UPCE: brCD = new Barcode128(); brCD.CodeType = Barcode.UPCE; break;
        default: brCD = new Barcode128(); brCD.CodeType = Barcode.CODE128; break;
    }
    brCD.ChecksumText = true;
    brCD.GenerateChecksum = true;
    brCD.Code = valorAcodificar;
    return brCD.CreateDrawingImage(System.Drawing.Color.Black, System.Drawing.Color.White);
}

Я вызываю этот метод следующим образом:

Image brCode = GetCodigoBarra(TipoCodigoBarra.CODE128, "10004523");

Я хочу напечатать это в PrintDocument, используя:

e.Graphics.DrawImage(brCode, -100-brCode.Width*0.5f, -(PosicionY + altoArial * fuente18B.Size * 3));

но посмотрите, что я получаю вместо чистого штрих-кода (снимок экрана из полученного pdf):

enter image description here

Before I make DrawImage to PrintDocument I make a jpg copy of the image:

brCode.Save(@"C:\Users\account_name\Downloads\brcode.jpg");

и я получаю это изображение , что правильно:

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

Что не так? Как избавиться от оттенков серого?

...