由于打印需要镜像,我的思路是,先画文字和图形在new Bitmap()中,
然后将BITMAP,使用RotateFlip方法翻转,再用打印的Graphics 直接输出到打印机中打印。
但是,发现状态不太好,如果我直接输出BITMAP不翻转,然后打印出来效果很好,但是翻转之后,打印效果就差了,
或者直接输出到打印的Graphics中,效果也很好。但是只要翻转了,效果就差了,大家有什么好方法么?
然后将BITMAP,使用RotateFlip方法翻转,再用打印的Graphics 直接输出到打印机中打印。
但是,发现状态不太好,如果我直接输出BITMAP不翻转,然后打印出来效果很好,但是翻转之后,打印效果就差了,
或者直接输出到打印的Graphics中,效果也很好。但是只要翻转了,效果就差了,大家有什么好方法么?
不要使用RotateFlip
Graphics g = Graphics.FromImage(bt);
Matrix matrix = new Matrix();//旋转矩阵
matrix.RotateAt(angle, Point pt);//按pt旋转angle角度
g.Transform = matrix;
g.DrawImage(myImage, pt.X, pt.Y);
g.ResetTransform();
matrix.Dispose();
g.Dispose();
bt.save(....);
Graphics g = e.Graphics; //打印的Graphics
Graphics gImageTemp = Graphics.FromImage(bSaveImage);
DrawImage(gImageTemp);
bSaveImage.RotateFlip(RotateFlipType.Rotate180FlipY); //进行镜像翻转
g.DrawImage(bSaveImage, 0,0); //画到打印纸上
-----------------------------------
如果,不通过gImageTemp 这个直接画到打印纸上,画出来效果很好,但是画到gImageTemp 这个上面,再画打印纸上,就悲剧了。