异常处理 我想做一个车牌识别的程序。但是才做一点点就出这个问题了。上面的异常如何处理啊?paint方法在在什么情况下被调用? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 有null对象,自己挨个的看看谁为null n_Bitmap 没有定义,少拷贝东西了 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) { } }}以上是全部代码。怎么改正啊 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))); } } 打断点进去,看看那个对象为null代码量这么少,应该是 m_Bitmap 为null判断下,不为空才操作 问个 怎么导入邮件联系人的列表 的原理 还是获取系统图标的问题。进者有分 在一个页面如何打开一个新的一个页面!!! Console程序如何能弹出Windows的提示框? 一个奇怪的数据库存储问题?? API如何同时播放两种音乐 在窗口上显示了个button,怎样将他销毁? C#先序创建二叉树出错,求助 c# 如何对硬件访问 请问,用C#如何实现模拟键盘输入 |ZYCWPF| 一个Linq.Expressions的扩展方法在4.0是可以通过的,但如何把他转为3.5的 谢谢 求设计c#图书管理系统(三层架构)
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)
{ }
}
}以上是全部代码。怎么改正啊
{
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)));
}
}
代码量这么少,
应该是 m_Bitmap 为null
判断下,不为空才操作