我尝试了此代码,它在桌面的黑色背景上打印了失真的图像和文本。
我使用的是透明背景的表格。我想在背景上打印图像。
this.TransparencyKey = BackColor;
Bitmap original = null;
original = new Bitmap(imagePath);
Bitmap newImage = new Bitmap(width, height + rect.Height, System.Drawing.Imaging.PixelFormat.Format32bppArgb);
var newGrp = Graphics.FromImage(newImage);
newGrp.Clear(Color.Transparent);
newGrp.InterpolationMode = InterpolationMode.HighQualityBilinear;
newGrp.SmoothingMode = SmoothingMode.HighQuality;
newGrp.TextRenderingHint = TextRenderingHint.AntiAlias;
newGrp.CompositingQuality = CompositingQuality.HighQuality;
newGrp.DrawImage(original, 0, rect.Height, width, height);
newGrp.DrawString(text, font, color, textStartPosition, 0);
this.BackgroundImage = (Image)newImage;
原始图像文件中的位图,文本颜色为灰色。该表单是透明的。新图像被绘制为表单的背景。取决于桌面的背景颜色(动态颜色),我想在表格上打印图像,但是我对文本的担心还不清楚。 我希望黑色背景上的图像和文字清晰。