我在做一个签章图片的处理,指定白色区域透明;并将图片以png格式存储到硬盘上了;
但是,在第一次执行程序的时候,正常执行;第二次执行的时候,出现中断,请各位大侠帮我分析一下;
                   if (openFile.ShowDialog() == DialogResult.OK)
                   {                                        m_old_p = Path.GetDirectoryName(openFile.FileName);
                    Bitmap bmp = new Bitmap(Image.FromFile(openFile.FileName), Image.FromFile(openFile.FileName).Size);
                    BitmapData data = bmp.LockBits(new Rectangle(0, 0, bmp.Width, bmp.Height), ImageLockMode.ReadWrite, bmp.PixelFormat);
                    int length = data.Stride * data.Height;
                    IntPtr ptr = data.Scan0;
                    byte[] buff = new byte[length];
                    Marshal.Copy(ptr, buff, 0, length);
                    for (int i = 3; i < length; i += 4)
                    {
                        if (buff[i - 1] >= 230 && buff[i - 2] >= 230 && buff[i - 3] >= 230)
                        {
                            buff[i] = 0;
                        }
                    }
                    Marshal.Copy(buff, 0, ptr, length);
                    bmp.UnlockBits(data);                    Stamp_Image_Box.Image = bmp;                    bmp.Save(m_img_save, System.Drawing.Imaging.ImageFormat.Png);
                    bmp.Dispose();                    CheckImage(m_img_save);
                   }