In this article we will learn to make a image editing tool with the help of C#. In this image editing tool we include re-sizing image, cropping image,brightness and contrast in images,rotation and other various common image editing functionality.
first we learn that how to implement these functionality in image one by one. so first we need to learn that how to show an image in windows form? for this we can take a picturebox control, picturebox control able to load an image file format like bmp, jpeg, gif,tiff file also.
So let start with our first step.
Start a new windows application and add one splitcontainer, picturebox, menustrip, toolstrip on windows form. Arrange controls on the form like this.
Now we need to open image on the form so we use open filedialog class for selecting image file.
- Declare Img as object of Image class. Image class is the member of System.Drawing namespace, it is abstrat base class that provides functionality for raster images(bitmaps) and vector images(Metafile) descended classes.
- Use openfiledialog on OpenToolStripMenuItem_Click event
- <pre lang="csharp"> private void OpenToolStripMenuItem_Click(object sender, EventArgs e)
- OpenFileDialog Dlg = new OpenFileDialog();
- Dlg.Filter = "";
- Dlg.Title = "Select image";
- if (Dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK)
- Img = Image.FromFile(Dlg.FileName);
- //Image.FromFile(String) method creates an image from the specifed file, here dlg.Filename contains the name of the file from which to create the image
- private void LoadImage()
- //we set the picturebox size according to image, we can get image width and height with the help of Image.Width and Image.height properties.
- int imgWidth = Img.Width;
- int imghieght = Img.Height;
- PictureBox1.Width = imgWidth;
- PictureBox1.Height = imghieght;
- PictureBox1.Image = Img;
- OriginalImageSize = new Size(imgWidth, imghieght);
Suppose that your picturebox or image size is smaller than background panel than image will show in the corner of the panel in upperside and this is not professional look of tool so we set the picturebox or image location on panel.
After doing this image will always show in center of panel
- private void PictureBoxLocation()
- int _x = 0;
- int _y = 0;
- if (SplitContainer1.Panel1.Width > PictureBox1.Width)
- _x = (SplitContainer1.Panel1.Width – PictureBox1.Width) / 2;
- if (SplitContainer1.Panel1.Height > PictureBox1.Height)
- _y = (SplitContainer1.Panel1.Height – PictureBox1.Height) / 2;
- PictureBox1.Location = new Point(_x, _y);
- private void SplitContainer1_Panel1_Resize(object sender, EventArgs e)
You can try this code for making image editing tool,in this article you learn that how to show image on form, in next article of this series describe to Resize image….thanks
Other related articles of this series: