读书人

图片打开有关问题

发布时间: 2013-03-17 13:48:32 作者: rapoo

图片打开问题
private void btnopen_Click(object sender, EventArgs e)
{
OpenFileDialog ofd = new OpenFileDialog();
ofd.InitialDirectory = "c:\\";
ofd.Filter = "所有图像文件 | *.bmp; *.pcx; *.png; *.jpg; *.gif;" +
"*.tif; *.ico; *.dxf; *.cgm; *.cdr; *.wmf; *.eps; *.emf|" +
"位图( *.bmp; *.jpg; *.png;...) | *.bmp; *.pcx; *.png; *.jpg; *.gif; *.tif; *.ico|" +
"矢量图( *.wmf; *.eps; *.emf;...) | *.dxf; *.cgm; *.cdr; *.wmf; *.eps; *.emf";
ofd.Title = "打开图片";
ofd.RestoreDirectory = true;
if (ofd.ShowDialog() == DialogResult.OK)
{
CurFileName = ofd.FileName;
try
{
CurBitmap = (Bitmap)Image.FromFile(CurFileName);
txtbx.Text = ofd.FileName;
}
catch (Exception exp)
{
MessageBox.Show(exp.Message);
}

}
Invalidate();
}
private void wiener_Paint(object sender, PaintEventArgs e)
{
Graphics g = e.Graphics;
if (CurBitmap != null)
{
g.DrawImage(CurBitmap, 160, 20, CurBitmap.Width, CurBitmap.Height);
}
}



为什么这样打不开图片??求高人指点
[解决办法]
先看看 CurBitmap 是否为null,如果不是,看看是否触发了paint事件
或者你用picturebox看看能否显示 CurBitmap
[解决办法]
测试了你的代码,可以显示图片啊
[解决办法]
看代码好像是没什么问题,我也觉得你的wiener_Paint不知道是什么控件,你直接form_Paint试试 其他控件貌似只能在加载的时候重绘一次,paint事件不会再触发了吧
[解决办法]
我也怀疑根本就是没有触发这个paint事件 应该对象绑定错误了 是不是拷贝人家的代码啊 你尝试下你的窗口Form1_Paint试一试Form1改成你的窗口名 能否看到图。
[解决办法]

引用:
引用:测试了你的代码,可以显示图片啊
为什么在我这显示不了,完全是一片空白
1,你的paint事件必须是窗体的paint事件;2,你的paint中最后少了个g.Dispose();3,如果还不行,就直接在窗体上放一个picturebox,pictureBox.Image = (Image)CurBitmap;就OK了,不需要paint事件;

读书人网 >C#

热点推荐