各位大牛,想问一下,C#中图像的底片效果有没有什么加速方法,如果我的图片太大,加载速度明显变慢,下面是代码:
try
            {
                int Height = pictureBox1.Image.Height;
                int Width = pictureBox1.Image.Width;
                
                Bitmap oldBitmap = (Bitmap)pictureBox1.Image;
                Bitmap newBitmap = new Bitmap(Width, Height);
                Color pixel;
                for (int i = 1; i < Width; i++) {
                    for (int j = 1; j < Height; j++) {
                        int r, g, b;
                        pixel = oldBitmap.GetPixel(i, j);
                        r = 255 - pixel.R;
                        g = 255 - pixel.G;
                        b = 255 - pixel.B;
                        newBitmap.SetPixel(i, j, Color.FromArgb(r, g, b));
                    }
                }
                ShowImage(newBitmap);
            }
            catch (Exception ex) {
                MessageBox.Show(ex.Message);
            }
//用于按pictureBox的大小显示图片,否则只能显示图片的一部分
 private void ShowImage(Bitmap bitMap) {
            if (bitMap != null)
            {
                Point location = new Point(bitMap.Size);
                if (location.X > pictureBox1.Size.Width || location.Y > pictureBox1.Size.Height)
                {
                    pictureBox1.SizeMode = PictureBoxSizeMode.Zoom;
                }
                else
                    pictureBox1.SizeMode = PictureBoxSizeMode.CenterImage;
                pictureBox1.Image = bitMap;
            }
        }大家看看有什么问题,或者哪里能够改进一下。感觉点了底片效果的按钮后过好长时间才能出来效果。