| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3532 人关注过本帖
标题:C#的画图和保存问题
只看楼主 加入收藏
shuishenxian
Rank: 2
来 自:河南新乡
等 级:论坛游民
帖 子:40
专家分:64
注 册:2010-5-16
结帖率:83.33%
收藏
已结贴  问题点数:20 回复次数:3 
C#的画图和保存问题
我用picturebox控件,设置成透明的,然后在里面画了个含有方波的坐标图形。
问题一:我写了一个保存程序,想把picturebox里面的图形保存下了,            
            SaveFileDialog saveFileDialog1 = new SaveFileDialog();
            saveFileDialog1.InitialDirectory = "C:\\";
            saveFileDialog1.Filter = "bum文件(*.bmp)|*.bmp|jpg文件(*.jpg)|*.jpg";
            saveFileDialog1.FilterIndex = 2;
            saveFileDialog1.RestoreDirectory = true;
            saveFileDialog1.Title = "请保存图片";
            saveFileDialog1.FileName = "这是示例图片";
            if (saveFileDialog1.ShowDialog() == DialogResult.OK)
            {
                if (pictureBox1.Image == null)
                    return;
                else
                    pictureBox1.Image.Save(saveFileDialog1.FileName);
 
            }
结果运行没有错误,但是保存不下来!
问题二:我想重新画图时怎么先把原来画的图清空
我在程序上面加了一句代码 :
     pictureBox1.Image = null;
结果显示 画的图片先显示一下,就消失了,这是怎么回事,该怎么解决!
问题三:我画的图出现后,当点击最小化放到任务栏,再打开时,图像就消失了???
需要高手解决,在此先谢谢了!
搜索更多相关主题的帖子: 图形 画图 
2011-11-12 11:54
qubo1982
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:1
帖 子:367
专家分:1132
注 册:2009-3-18
收藏
得分:20 
1. 你画的图是在 pictureBox1.CreateGraphics()里面的,和pictureBox1.Image没任何关系
2. 如果是纯色的背景,可以用g.Clear(Color.xxx),如果pictureBox1.Image是有内容的图片,可以用pictureBox1.Refresh();刷新图像显示
3. 你画的图消失都是因为pictureBox1重绘了,所以这就没有了,换句话说,你画的东西是无根的,一刷新就什么都没有,想要它显示要把绘图这一块的代码放到pictureBox1的paint事件里面去
2011-11-12 14:14
qubo1982
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:1
帖 子:367
专家分:1132
注 册:2009-3-18
收藏
得分:0 
给你一小段代码,你参考一下
程序代码:
        private void button1_Click(object sender, EventArgs e)
        {
            Image img = pictureBox1.Image;
            using (Graphics g = Graphics.FromImage(img))
            {
                g.DrawLine(new Pen(Color.Red), 0, 0, img.Width, img.Height);
            }
            pictureBox1.Image = img;
            pictureBox1.Image.Save(@"D:\TEMP\新建文件夹\a.bmp", System.Drawing.Imaging.ImageFormat.Bmp);
        }
2011-11-12 14:24
shuishenxian
Rank: 2
来 自:河南新乡
等 级:论坛游民
帖 子:40
专家分:64
注 册:2010-5-16
收藏
得分:0 
回复 2楼 qubo1982
一,怎么把pictureBox1.CreateGraphics()里面的图片传到pictureBox1.Image?
二,怎么把绘图这一块的代码放到pictureBox1的paint事件里面去 ?
我第一次做,很多都不懂,谢谢了!
2011-11-12 22:22
快速回复:C#的画图和保存问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018304 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved