我想做一个车牌识别的程序。但是才做一点点就出这个问题了。
上面的异常如何处理啊?
paint方法在在什么情况下被调用?

解决方案 »

  1.   

    有null对象,自己挨个的看看谁为null
      

  2.   

    n_Bitmap 没有定义,少拷贝东西了
      

  3.   

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;namespace 车牌识别系统
    {
        public partial class frmLicense : Form
        {
            public frmLicense()
            {
                InitializeComponent();
            }        private string name;
            private Bitmap m_Bitmap;//整幅图像            //打开图片
            private void btnOpen_Click(object sender, EventArgs e)
            {
                OpenFileDialog openFileDialog = new OpenFileDialog();
                openFileDialog.Filter = "Jpeg文件(*.jpg)|*.jpg|Bitmap文件(*.bmp)|*.bmp|所有文件(*.*)|*.*";
                openFileDialog.FilterIndex = 2;
                openFileDialog.RestoreDirectory = true;
                if (DialogResult.OK == openFileDialog.ShowDialog())
                {
                    name = openFileDialog.FileName;
                    m_Bitmap = (Bitmap)Bitmap.FromFile(name, false);
                    this.plWatingProcess.AutoScroll = true;
                    this.plWatingProcess.AutoScrollMinSize = new Size((int)m_Bitmap.Width, (int)m_Bitmap.Height);
                    plWatingProcess.Invalidate();//激发重绘事件
                }
            }            //显示待处理图像
            private void panel1_Paint(object sender, PaintEventArgs e)
            {
                Graphics g = e.Graphics;
                g.DrawImage(m_Bitmap,new Rectangle(this.plWatingProcess.AutoScrollPosition.X,this.plWatingProcess.AutoScrollPosition.Y,
                            (int)(m_Bitmap.Width),(int)(m_Bitmap.Height)));
            }        private void panel2_Paint(object sender, PaintEventArgs e)
            {        }
        }
    }以上是全部代码。怎么改正啊
      

  4.   

       private void panel1_Paint(object sender, PaintEventArgs e)
            {
               if (m_Bitmap != null)
                 {

                    Graphics g = e.Graphics;
                g.DrawImage(m_Bitmap,new Rectangle(this.plWatingProcess.AutoScrollPosition.X,this.plWatingProcess.AutoScrollPosition.Y,
                            (int)(m_Bitmap.Width),(int)(m_Bitmap.Height)));
                 }  
            }
      

  5.   

    打断点进去,看看那个对象为null
    代码量这么少,
    应该是 m_Bitmap 为null
    判断下,不为空才操作