I tried to save pictureboxe and picture box in layers
Below is the placement of the current form

Try Method 1
public Form1()
{
InitializeComponent();
pictureBox1.Controls.Add(pictureBox2);
pictureBox2.Location = new Point(0, 0);
pictureBox2.BackColor = Color.Transparent;
}
private void button1_Click(object sender, EventArgs e)
{
string path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
pictureBox1.Image.Save(path+"\\image.jpg",System.Drawing.Imaging.ImageFormat.Jpeg);
}
Overlay picturebox2 on picturebox1
Try Method 2
private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
Graphics g = e.Graphics;
g.DrawImage(this.imageList1.Images[0], 50, 50,393,336);
}
private void button1_Click(object sender, EventArgs e)
{
string path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
pictureBox1.Image.Save(path+"\\image.jpg",System.Drawing.Imaging.ImageFormat.Jpeg);
}
Redraw in picturebox1
I want the two images to be perfectly overlapped and saved. Is there a solution?



As I understand it, you want to draw picture box in layers similar to the popular editing app. We'll make our own version and call it PictureShop. As Jimi commented, you need only one
PictureBoxand when you want to draw on it, call itsRefreshmethod. It responds by firing aPaintmessage and providing aGraphicscanvas to draw on. So, if we have put the images in aLayerslist of bitmaps, we can draw the layers on top of one another. Obviously there is a problem doing this, but it's a start.If we were using that "other" app, we would go to the top layer and probably use a magic wand to select around the top image, and make it transparent. To make PictureShop do something similar, have it replace pixels in the top image if the color falls within a range of values.
Now the Tolerance slider lets you adjust the amount or transparency before saving.
Transparency method
New paint method