bmp图像调整大小并适合c#中的页面

时间:2013-12-07 03:15:17

标签: c#

我有宽度为1171,高度为1181的图像。我需要使用printDocument将图像打印到打印页面...所以最终图像大小为宽度596和高度892.因此它覆盖了页面的所有区域,没有任何空间。 我的问题是我能够调整它的大小,但它不能覆盖页面的整个空间......并且使用不同的解决方案它覆盖整个页面区域但是图像被剪下来。

那么我要解决这个问题呢?

我的代码如下......

private void btnPrint_Click(object sender, EventArgs e)
        {
            btnPrint.Enabled = false;
            try
            {

                printDocument1.Print();
                this.Close();

            }
            catch (Exception err)
            {
                MessageBox.Show("Printing failed :" + err.Message);
                btnPrint.Enabled = true;
            }

        }

        private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
        {

            Image img = ((PictureBox)pictureBox1).Image;
            Bitmap bmp = (Bitmap)img;
            bmp.Save("abcc");
                Bitmap bitmap = new Bitmap(bmp, new Size(892, 596));
                // Bitmap b = ResizeBitmap(bmp, 892, 596);
                Rectangle rect = new Rectangle(0, 0, bitmap.Width, bitmap.Height);
                e.Graphics.CompositingMode = CompositingMode.SourceCopy;
                e.Graphics.CompositingQuality = CompositingQuality.HighQuality;
                e.Graphics.SmoothingMode = SmoothingMode.HighQuality;
                e.Graphics.Transform.Scale(0, 0);
                e.Graphics.DrawImage(bitmap,new Rectangle(0,0,892,596),new Rectangle(0,0,bmp.Width,bmp.Height),GraphicsUnit.Pixel);





        }

0 个答案:

没有答案