C# e、 Graphics.DrawImage正在更改我的条形码图像
我使用iTextSharp生成了条形码图像:C# e、 Graphics.DrawImage正在更改我的条形码图像,c#,itext,barcode,drawimage,printdocument,C#,Itext,Barcode,Drawimage,Printdocument,我使用iTextSharp生成了条形码图像: 公共静态图像GetCodigoBarra(tipocodigbarra tipoCodigo,string valoracar) { 条形码brCD; 开关(tipoCodigo) { case TipoCodigoBarra.CODE128:brCD=new Barcode128();brCD.CodeType=Barcode.CODE128;break; case tipocodigbarra.EAN13:brCD=new BarcodeEAN(
公共静态图像GetCodigoBarra(tipocodigbarra tipoCodigo,string valoracar)
{
条形码brCD;
开关(tipoCodigo)
{
case TipoCodigoBarra.CODE128:brCD=new Barcode128();brCD.CodeType=Barcode.CODE128;break;
case tipocodigbarra.EAN13:brCD=new BarcodeEAN();brCD.CodeType=Barcode.EAN13;break;
案例tipocodigbarra.EAN8:brCD=new BarcodeEAN();brCD.CodeType=Barcode.EAN8;break;
case TipoCodigoBarra.UPCA:brCD=new Barcode128();brCD.CodeType=Barcode.UPCA;break;
case tipocodigbarra.UPCE:brCD=new Barcode128();brCD.CodeType=Barcode.UPCE;break;
默认值:brCD=new Barcode128();brCD.CodeType=Barcode.CODE128;break;
}
brCD.ChecksumText=true;
brCD.GenerateChecksum=true;
brCD.Code=VALORACAR;
返回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截图):
在制作DrawImage
到PrintDocument
之前,我先制作图像的jpg副本:
brCode.Save(@“C:\Users\account\u name\Downloads\brCode.jpg”);
我得到了这个图像,这是正确的:
怎么了?如何消除灰度?尝试关闭任何抗锯齿功能。是否打开抗锯齿功能
e.Graphics.SmoothingMode=SmoothingMode。无一个
会将其关闭。您好,我没有任何关于抗锯齿的说明,但我已添加了您的代码,没有任何更改。我还尝试了其他具有相同结果的打印机。请尝试关闭任何抗锯齿。是否打开抗锯齿e.Graphics.SmoothingMode=SmoothingMode。无一个
会将其关闭。您好,我没有任何关于抗锯齿的说明,但我已添加了您的代码,没有任何更改。我还尝试了其他打印机,结果也一样。