Bitmap bmp = new Bitmap(pictureBox1.Image); //创建Bitmap对象 Bitmap tmp = (Bitmap)bmp.Clone();//创建Bitmap对象 int height = tmp.Height;//高 int width = tmp.Width; ;//宽 Color pixel; //拉普拉斯模板 int[] Laplacian = { -1, -1, -1, -1, 9, -1, -1, -1, -1 }; for (int x = 1; x < width - 1; x++) for (int y = 1; y < height - 1; y++) { int r = 0, g = 0, b = 0; int Index = 0; for (int col = -1; col <= 1; col++) for (int row = -1; row <= 1; row++) { pixel = bmp.GetPixel(x + row, y + col); r += pixel.R * Laplacian[Index]; g += pixel.G * Laplacian[Index]; b += pixel.B * Laplacian[Index]; Index++; } //处理颜色值溢出 r = r > 255 ? 255 : r; r = r < 0 ? 0 : r; g = g > 255 ? 255 : g; g = g < 0 ? 0 : g; b = b > 255 ? 255 : b; b = b < 0 ? 0 : b; tmp.SetPixel(x - 1, y - 1, Color.FromArgb(r, g, b)); } this.pictureBox2.Image = tmp;