Предполагая, что ваше PNG-изображение imgwidth пикселей в ширину и состоит из n горизонтальных изображений, вы можете попробовать это:
Image imgsrc = Image.FromFile("...."); // your PNG file
Image imgdst = new Bitmap(imgwidth/n, imgsrc.Height);
using (Graphics gr = Graphics.FromImage(imgdst))
{
gr.DrawImage(imgsrc,
new RectangleF(0, 0, imgdst.Width, imgdst.Height),
new RectangleF(imgindex * imgwidth/n, 0, imgwidth/n, imgsrc.Height),
GraphicsUnit.Pixel);
}
Идея состоит в том, чтобы создать новое изображение (imgdst) и нарисовать на нем ту часть исходного изображения, которая вам нужна.
С новым изображением вы можете делать то, что вам нравится, даже рисовать его в картинке.