Printing the Picture in C#.NET
Printing the Picture in C#.NET
Language: C#.NET
Author: Aamir Mustafa
E-Mail: aamir_mustafa2007@msn.com
Introduction:
I was looking different methods how to print a picture, so I have one way. This time I m going to tell you in C#.NET
This article will show simple method to print the picture
How to Print:
Create an empty project
On the form, add a menu bar and change its name to File
Below File menu, add these menus
mnuOpen
mnuPageSetup
mnuPrint
So we have following shape
Fileà Open, Page Setup, Print
After adding the menus
Go to Toolbox and go to Printing section and add following controls
PageSetupDialog1
We are using for setting page set up
PrintDocument1
We are using for printing document
PrintPreviewDialog1
We are using for take preview of our print
After adding all these controls, add a picture box to the form
Now we are going to add code
First of all add following code to Open menu
We will use it for opening a picture from disk
Code:
private void mnuOpen_Click(object sender, EventArgs e)
{
Bitmap m_bitmap;
OpenFileDialog openFileDlg=new OpenFileDialog();
openFileDlg.Filter = "Images (*.BMP;*.JPG;*.GIF)|*.BMP;*.JPG;*.GIF|All files (*.*)|*.*";
if (openFileDlg.ShowDialog() == DialogResult.OK)
{
string strFileName = openFileDlg.FileName;
m_bitmap = new Bitmap(strFileName);
this.pictureBox1.Image = m_bitmap;
}
}
After adding above code , add following code in Page setup menu
We are using it for setting page setup
Code:
private void mnupageSetup_Click(object sender, EventArgs e)
{
pageSetupDialog1.Document = printDocument1;
pageSetupDialog1.ShowDialog();
}
Now we will add code in Print event click
Code:
private void mnuprint_Click(object sender, EventArgs e)
{
printPreviewDialog1.Document=printDocument1;
printPreviewDialog1.ShowDialog();
}
At the end we will add code behind PrintPage event of PrintDocument1
So double click on it on the form or access its PageEvent in code editor and add following code
Code:
private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
e.Graphics.DrawImage(this.pictureBox1.Image, 0, 0, this.pictureBox1.Width, this.pictureBox1.Height);
}
In the above code we are using DrawImage method of Graphics
DrawImage has five arguments
First argument which we pass is image, so here we are passing here our picture
Next argument is the x location of image and next location is y
Third is width of image, we are setting our picture width and so next is height of our image.
Draw a background with a rotating color gradient in Visual Basic .NET
| ||||||||
| When the form's Timer fires, the event handler invalidates the drawing area PictureBox. The PictureBox's Paint event handler makes a LinearGradientBrush. The rectangle the gradient covers is slightly larger than the PictureBox's client rectangle. The brush uses the angle m_Theta to determine the gradient's angle. The program fills the PictureBox with the brush. It then updates m_Theta so the gradient rotates next time. Finally the program draws some text over the colored background. | ||||||||
Private m_Theta As Single = 0 |
Printing the Picture in VB.NET
| ||||||||
| When the user clicks the Print button, the program calls the GetFormImage subroutine to make a Bitmap holding an image of the form's contents. It saves the result in a global variable. It then creates a PrintDocument object and calls its Print method to print the result. Subroutine GetFormImage gets a Graphics object for the form. It makes a Bitmap big enough to hold the image and gets a Graphics object for it. It then gets the device context handles (hDC) for the two Graphics objects and uses BitBlt to copy the form's image into the Bitmap. The PrintDocument's Print method uses the DrawImage method to draw the form's picture centered on the printout. | ||||||||
Private Declare Auto Function BitBlt Lib "gdi32.dll" (ByVal _ |