在我的應用程序中,我需要將員工照片打印爲ID徽章。我使用圖片框控件和sizemode作爲PictureBoxSizeMode.StretchImage。 打印時,根據圖片框的寬度和高度,照片變寬。但照片看起來不像原來的那樣。 當我在設計器窗口中將sizemode設置爲PictureBoxSizeMode.Zoom時,它非常完美。但是在印刷過程中,結果與以前相同。沒有效果。如何使用PictureBoxSizeMode.Zoom繪製圖像
PictureBox pict = (PictureBox)ctrl;
pict.SizeMode = PictureBoxSizeMode.Zoom;
RectangleF rect = new RectangleF(pict.Location.X, pict.Location.Y, pict.Width, pict.Height);
e.Graphics.DrawImage(pict.Image, rect);
上面的代碼執行時PrintPage事件被觸發
SizeMode根本不會影響圖像,只有PictureBox用來繪製圖像的Graphics.DrawImage()調用。你將不得不在你自己的代碼中重現。否則通過使用Graphics.ScaleTransform() –