不知你这个Parameter是什么
看样子应该是个窗口
你就要添加这个窗口的引用啊

解决方案 »

  1.   

    这个是我跟着一个网上的例子做的,可是在调试的时候就出错了.原网址是:http://tech.ccidnet.com/pub/article/c1137_a41424_p1.html#comment
     
     我把原程序贴到下面请各位帮帮忙看看。如果不注释  menuItem9_Click 的代码就会报先前提到的哪个错误.如果注释掉就会出现如下:
    An unhandled exception of type 'System.NullReferenceException' occurred in system.windows.forms.dllAdditional information: Object reference not set to an instance of an object.原代码如下:
    using System;
    using System.Drawing;
    using System.Collections;
    using System.ComponentModel;
    using System.Windows.Forms;
    using System.Data;
    using System.IO;
    using System.Drawing.Imaging;
    using System.Drawing.Printing;namespace ImageProcessor
    {
    /// <summary>
    /// Summary description for Form1.
    /// </summary>
    public class Form1 : System.Windows.Forms.Form
    {
    private System.Windows.Forms.MainMenu mainMenu1;
    private System.Windows.Forms.MenuItem menuItem1;
    private System.Windows.Forms.MenuItem menuItem2;
    private System.Windows.Forms.MenuItem menuItem3;
    private System.Windows.Forms.MenuItem menuItem4;
    private System.Windows.Forms.MenuItem menuItem5;
    private System.Windows.Forms.MenuItem menuItem6;
    private System.Windows.Forms.MenuItem menuItem7;
    private System.Windows.Forms.MenuItem menuItem8;
    private System.Windows.Forms.MenuItem menuItem9;
    private System.Windows.Forms.OpenFileDialog openFileDialog1;
    private System.Windows.Forms.SaveFileDialog saveFileDialog1;
    private System.Drawing.Bitmap m_Bitmap;
    private System.NullReferenceException Parameter;

    /// <summary>
    /// Required designer variable.
    /// </summary>
    private System.ComponentModel.Container components = null; class Filters
    {
    public static bool Invert(Bitmap b)
    {
    BitmapData bmData = b.LockBits(new Rectangle(0, 0, b.Width, b.Height), 
    ImageLockMode.ReadWrite, PixelFormat.Format24bppRgb);
    int stride = bmData.Stride;
    System.IntPtr Scan0 = bmData.Scan0;
    unsafe
    {
    byte * p = (byte *)(void *)Scan0;
    int nOffset = stride - b.Width*3;
    int nWidth = b.Width * 3;
    for(int y=0;y<b.Height;++y)
    {
    for(int x=0; x < nWidth; ++x )
    {
    p[0] = (byte)(255-p[0]);
    ++p;
    }
    p += nOffset;
    }
    }
    b.UnlockBits(bmData);
    return true;
    }
    public static bool Gray(Bitmap b)
    {
    BitmapData bmData = b.LockBits(new Rectangle(0, 0, b.Width, b.Height), 
    ImageLockMode.ReadWrite, PixelFormat.Format24bppRgb);
    int stride = bmData.Stride;
    System.IntPtr Scan0 = bmData.Scan0;
    unsafe
    {
    byte * p = (byte *)(void *)Scan0;
    int nOffset = stride - b.Width*3;
    byte red, green, blue;
    for(int y=0;y<b.Height;++y)
    {
    for(int x=0; x < b.Width; ++x )
    {
    blue = p[0];
    green = p[1];
    red = p[2];
    p[0] = p[1] = p[2] = (byte)(.299 * red + .587 * green + .114 * blue);
    p += 3;
    }
    p += nOffset;
    }
    }
    b.UnlockBits(bmData);
    return true;
    }
     
    public static bool Brightness(Bitmap b, int nBrightness)
    {
    if (nBrightness < -255 || nBrightness > 255)
    return false;
    BitmapData bmData = b.LockBits(new Rectangle(0, 0, b.Width,
    b.Height), ImageLockMode.ReadWrite, 
    PixelFormat.Format24bppRgb);
    int stride = bmData.Stride;
    System.IntPtr Scan0 = bmData.Scan0;
    int nVal = 0;
    unsafe
    {
    byte * p = (byte *)(void *)Scan0;
    int nOffset = stride - b.Width*3;
    int nWidth = b.Width * 3;
    for(int y=0;y<b.Height;++y)
    {
    for(int x=0; x < nWidth; ++x )
    {
    nVal = (int) (p[0] + nBrightness);
    if (nVal < 0) nVal = 0;
    if (nVal > 255) nVal = 255;
    p[0] = (byte)nVal;
    ++p;
    }
    p += nOffset;
    }
    }
    b.UnlockBits(bmData);
    return true;
    }
    }
      

  2.   

    public Form1()
    {
    //
    // Required for Windows Form Designer support
    //
    InitializeComponent(); //
    // TODO: Add any constructor code after InitializeComponent call
    //
    } /// <summary>
    /// Clean up any resources being used.
    /// </summary>
    protected override void Dispose( bool disposing )
    {
    if( disposing )
    {
    if (components != null) 
    {
    components.Dispose();
    }
    }
    base.Dispose( disposing );
    } #region Windows Form Designer generated code
    /// <summary>
    /// Required method for Designer support - do not modify
    /// the contents of this method with the code editor.
    /// </summary>
    private void InitializeComponent()
    {
    this.mainMenu1 = new System.Windows.Forms.MainMenu();
    this.menuItem1 = new System.Windows.Forms.MenuItem();
    this.menuItem2 = new System.Windows.Forms.MenuItem();
    this.menuItem3 = new System.Windows.Forms.MenuItem();
    this.menuItem4 = new System.Windows.Forms.MenuItem();
    this.menuItem5 = new System.Windows.Forms.MenuItem();
    this.menuItem6 = new System.Windows.Forms.MenuItem();
    this.menuItem7 = new System.Windows.Forms.MenuItem();
    this.menuItem8 = new System.Windows.Forms.MenuItem();
    this.menuItem9 = new System.Windows.Forms.MenuItem();
    this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();
    this.saveFileDialog1 = new System.Windows.Forms.SaveFileDialog();
    // 
    // mainMenu1
    // 
    this.mainMenu1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
      this.menuItem1,
      this.menuItem6});
    // 
    // menuItem1
    // 
    this.menuItem1.Index = 0;
    this.menuItem1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
      this.menuItem2,
      this.menuItem3,
      this.menuItem4,
      this.menuItem5});
    this.menuItem1.Text = "File";
    // 
    // menuItem2
    // 
    this.menuItem2.Index = 0;
    this.menuItem2.Text = "Open File";
    this.menuItem2.Click += new System.EventHandler(this.menuItem2_Click);
    // 
    // menuItem3
    // 
    this.menuItem3.Index = 1;
    this.menuItem3.Text = "Seven File";
    this.menuItem3.Click += new System.EventHandler(this.menuItem3_Click);
    // 
    // menuItem4
    // 
    this.menuItem4.Index = 2;
    this.menuItem4.Text = "-";
    // 
    // menuItem5
    // 
    this.menuItem5.Index = 3;
    this.menuItem5.Text = "Exit";
    this.menuItem5.Click += new System.EventHandler(this.menuItem5_Click);
    // 
    // menuItem6
    // 
    this.menuItem6.Index = 1;
    this.menuItem6.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
      this.menuItem7,
      this.menuItem8,
      this.menuItem9});
    this.menuItem6.Text = "Edit";
    // 
    // menuItem7
    // 
    this.menuItem7.Index = 0;
    this.menuItem7.Text = "OverTurn";
    this.menuItem7.Click += new System.EventHandler(this.menuItem7_Click);
    // 
    // menuItem8
    // 
    this.menuItem8.Index = 1;
    this.menuItem8.Text = "Cineration";
    this.menuItem8.Click += new System.EventHandler(this.menuItem8_Click);
    // 
    // menuItem9
    // 
    this.menuItem9.Index = 2;
    this.menuItem9.Text = "Add Lustre To";
    this.menuItem9.Click += new System.EventHandler(this.menuItem9_Click);
    // 
    // saveFileDialog1
    // 
    this.saveFileDialog1.FileName = "doc1";
    // 
    // Form1
    // 
    this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
    this.AutoScroll = true;
    this.ClientSize = new System.Drawing.Size(292, 273);
    this.Menu = this.mainMenu1;
    this.Name = "Form1";
    this.Text = "Form1";
    this.Paint += new System.Windows.Forms.PaintEventHandler(this.Form1_Paint); }
    #endregion /// <summary>
    /// The main entry point for the application.
    /// </summary>
    [STAThread]
    static void Main() 
    {
    Application.Run(new Form1());
    } private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
    {
    Graphics g = e.Graphics;
    g.DrawImage(m_Bitmap,new Rectangle(this.AutoScrollPosition.X, this.AutoScrollPosition.Y,(int)(m_Bitmap.Width),(int)(m_Bitmap.Height)));
    } private void menuItem2_Click(object sender, System.EventArgs e)
    {
    OpenFileDialog openFileDialog = new OpenFileDialog();
    Bitmap m_Bitmap = new Bitmap(2,2); openFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*" ; openFileDialog.Filter = "Bitmap文件 (*.bmp)|*.bmp|Jpeg文件(*.jpg)|*.jpg|所有合适文件(*.bmp/ *.jpg)|*.bmp/ *.jpg";
    openFileDialog.FilterIndex = 2 ;
    openFileDialog.RestoreDirectory = true ;
    if(DialogResult.OK == openFileDialog.ShowDialog())
    {
    m_Bitmap = (Bitmap)Bitmap.FromFile(openFileDialog.FileName, false);
    this.AutoScroll = true;
    this.AutoScrollMinSize=new Size ((int)(m_Bitmap.Width),(int)(m_Bitmap.Height));
    this.Invalidate();
    } } private void menuItem3_Click(object sender, System.EventArgs e)
    {
    SaveFileDialog saveFileDialog = new SaveFileDialog();
    saveFileDialog.Filter = "Bitmap文件(*.bmp)|*.bmp|Jpeg文件(*.jpg)|*.jpg|所有合适文件(*.bmp/ *.jpg)|*.bmp/ *.jpg";
    saveFileDialog.FilterIndex = 1 ;
    saveFileDialog.RestoreDirectory = true ;
    if(DialogResult.OK == saveFileDialog.ShowDialog())
    {
    m_Bitmap.Save(saveFileDialog.FileName);
    } } private void menuItem7_Click(object sender, System.EventArgs e)
    {
    if(Filters.Invert(m_Bitmap))
    this.Invalidate();
    } private void menuItem8_Click(object sender, System.EventArgs e)
    {
    if(Filters.Gray(m_Bitmap))
    this.Invalidate(); } private void menuItem9_Click(object sender, System.EventArgs e)
    {
    Parameter dlg = new Parameter();
    dlg.nValue = 0;
    if (DialogResult.OK == dlg.ShowDialog())
    {
    if(Filters.Brightness(m_Bitmap, dlg.nValue))
    this.Invalidate();
    }
    } private void menuItem5_Click(object sender, System.EventArgs e)
    {
    this.Close();
    }
    }
    }