佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 1581|回复: 10

C# pro的进来一下!!

[复制链接]
发表于 7-2-2011 11:44 PM | 显示全部楼层 |阅读模式
private void pictureBox1_MouseUp(object sender, MouseEventArgs e)
        {
           shouldPaint = false;
        }

        private void pictureBox1_MouseDown(object sender, MouseEventArgs e)
        {
                shouldPaint = true;
        }

        private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
        {
             if (shouldPaint)
                graphics.FillEllipse(new SolidBrush(Color.Black), e.X, e.Y, 5,5);
        }

我用pictureBox写了一个painter。当我click着拉,就画一条黑线。 我画东西过后,当minimize 那个windows,pictureBox的画就不见了,画不能留在pictureBox上面。我google了,他们说一定要用paintevent 来画东西。

我不要用paintevent,有什么办法留在pictureBox上面?
回复

使用道具 举报


ADVERTISEMENT

发表于 8-2-2011 02:49 PM | 显示全部楼层
你的graphics 从何处来?怎么没看见
回复

使用道具 举报

 楼主| 发表于 8-2-2011 03:23 PM | 显示全部楼层
private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
        {  Graphics graphics = pictureBox1.CreateGraphics();
             if (shouldPaint)
                graphics.FillEllipse(new SolidBrush(Color.Black), e.X, e.Y, 5,5);
        }
回复

使用道具 举报

 楼主| 发表于 8-2-2011 03:27 PM | 显示全部楼层
private void saveImageToolStripMenuItem_Click_1(object sender, EventArgs e)
        {PictureBox changed = new PictureBox();
            Graphics g = this.CreateGraphics();
            SaveFileDialog saveFile1 = new SaveFileDialog();
            saveFile1.Filter = "Jpeg files (*.jpg)|*.jpg";
            saveFile1.Filter += "|Bitmap files (*.bmp)|*.bmp";
            saveFile1.Filter += "|GIF files (*.gif)|*.gif";

            if (saveFile1.ShowDialog() == System.Windows.Forms.DialogResult.OK && saveFile1.FileName.Length > 0)
            {
                int width = pictureBox1.Width;
                int height = pictureBox1.Height;

                Bitmap bitMap = new Bitmap(pictureBox1.Width, pictureBox1.Height);
                pictureBox1.DrawToBitmap(bitMap, new Rectngle(0, 0, pictureBox1.Width, pictureBox1.Height));
                bitMap.Save(saveFile1.FileName,
                System.Drawing.Imaging.ImageFormat.Jpeg);

            }
            saveFile1.Dispose();
        }

save也save不到,只save到白白一片, save 到pictureBox 的background 而已。
回复

使用道具 举报

发表于 8-2-2011 04:46 PM | 显示全部楼层
本帖最后由 chrizyuen2 于 8-2-2011 11:55 PM 编辑
  1. private bool m_shouldPaint = false;
  2. private Graphics graphics;
  3. private Bitmap _bitmap;

  4. public Form1()
  5. {
  6.         InitializeComponent();
  7.         _bitmap = new Bitmap(pictureBox1.Width, pictureBox1.Height);
  8. }

  9. private void pictureBox1_MouseUp(object sender, MouseEventArgs e)
  10. {
  11.         m_shouldPaint = false;
  12.         graphics.Dispose();
  13. }

  14. private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
  15. {
  16.         graphics = Graphics.FromImage(_bitmap);
  17.         if (m_shouldPaint)
  18.                 graphics.FillEllipse(new SolidBrush(Color.Black), e.X, e.Y, 5, 5);
  19. }

  20. private void pictureBox1_MouseDown(object sender, MouseEventArgs e)
  21. {
  22.         m_shouldPaint = true;
  23. }

  24. private void pictureBox1_Paint(object sender, PaintEventArgs e)
  25. {
  26.         pictureBox1.Image = _bitmap;
  27. }
复制代码

问你graphics从何而来,这问题特别重要.
应该看得明白, 就不多做解释了,
回复

使用道具 举报

 楼主| 发表于 9-2-2011 12:06 AM | 显示全部楼层
graphics从何而来?? 我不是很明白。 对不起,我是完完全全自己学的,可以大概解释一下吗?谢谢!!
我build 你的coding 时,第21行,有问题, 出现“Value cannot be null. Parameter name: image”
回复

使用道具 举报

Follow Us
发表于 9-2-2011 01:30 AM | 显示全部楼层
回复 6#

去读gdi. 从基础看起。不然修了外功,没有内功,也是空架子。

ps:我的code没有问题
回复

使用道具 举报

 楼主| 发表于 9-2-2011 09:44 AM | 显示全部楼层
你好犀利!!!能用了!!非常一百分感激!!
回复

使用道具 举报


ADVERTISEMENT

发表于 9-2-2011 10:08 AM | 显示全部楼层
不需要客气,但是下次请你到我专贴来问。
论坛会提醒我, 让我比较容易follow-up.
谢谢

[挑战自我] 欢迎任何C#疑难杂症(编写完整软件除外)  
http://cforum3.cari.com.my/viewt ... &extra=page%3D2
回复

使用道具 举报

发表于 10-2-2011 12:23 PM | 显示全部楼层
去找渣可以吗?
回复

使用道具 举报

发表于 10-2-2011 12:37 PM | 显示全部楼层
回复 10# aquamax

就怕你不来,踩多两脚,人气比较旺
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 15-11-2025 07:36 AM , Processed in 0.136469 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表