Это довольно легко сделать. Каждый элемент управления в форме имеет свойство Size и Location, которое можно использовать для создания нового прямоугольника, например:
Rectangle rect = new Rectangle(button1.Location, button1.Size);
Чтобы получить растровое изображение, содержащее часть фонового изображения, расположенную за элементом управления, сначала необходимо создать растровое изображение с соответствующими размерами:
Bitmap bmp = new Bitmap(rect.Width, rect.Height);
Затем вы создаете объект Graphics для нового растрового изображения и используете метод DrawImage этого объекта для копирования части фонового изображения:
using (Graphics g = Graphics.FromImage(bmp))
{
g.DrawImage(...); // sorry, I don't recall which of the 30 overloads
// you need here, but it will be one that uses form1.Image as
// the source, and rect for the coordinates of the source
}
Это оставит вас с новым растровым изображением (bmp), содержащим часть фонового изображения под этим элементом управления.
Извините, я не могу быть более точным в коде - я нахожусь на общественном терминале. Но информация intellisense скажет вам, что вам нужно передать для метода DrawImage.