图像分为9个部分

我的代码:

private void pictureBox1_MouseDown(object sender, MouseEventArgs e) { ngr.Dispose(); List list = new List(); Graphics g = Graphics.FromImage(pictureBox1.Image); Brush redBrush = new SolidBrush(Color.Red); Pen pen = new Pen(redBrush,3); MessageBox.Show(pictureBox1.Image.Width + " " + pictureBox1.Image.Height); for (int i = 0; i < pictureBox1.Image.Width; i = (pictureBox1.Image.Width / 3) + i) { for (int y = 0; y  0 && y > 0) { if (i + r.Width < pictureBox1.Image.Width && y + r.Height < pictureBox1.Image.Height) { list.Add(cropImage(pictureBox1.Image, r)); } } } } g.Dispose(); pictureBox1.Invalidate(); pictureBox1.Image = list[0]; } private static Image cropImage(Image img, Rectangle cropArea) { Bitmap bmpImage = new Bitmap(img); Bitmap bmpCrop = bmpImage.Clone(cropArea, System.Drawing.Imaging.PixelFormat.DontCare); return (Image)(bmpCrop); } 

此代码仅添加2个列表,但不添加其他7个。

请帮忙!!

更改此部分代码,然后重试:

  for (int i = 0; i < 3; i++) { for (int y = 0; y < 3; y++) { Rectangle r = new Rectangle(i*(pictureBox1.Image.Width / 3), y*(pictureBox1.Image.Height / 3), pictureBox1.Image.Width / 3, pictureBox1.Image.Height / 3); g.DrawRectangle(pen,r ); list.Add(cropImage(pictureBox1.Image, r)); } }