|
查看: 1581|回复: 10
|
C# pro的进来一下!!
[复制链接]
|
|
|
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上面? |
|
|
|
|
|
|
|
|
|
|
发表于 8-2-2011 02:49 PM
|
显示全部楼层
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 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 编辑
- private bool m_shouldPaint = false;
- private Graphics graphics;
- private Bitmap _bitmap;
- public Form1()
- {
- InitializeComponent();
- _bitmap = new Bitmap(pictureBox1.Width, pictureBox1.Height);
- }
- private void pictureBox1_MouseUp(object sender, MouseEventArgs e)
- {
- m_shouldPaint = false;
- graphics.Dispose();
- }
- private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
- {
- graphics = Graphics.FromImage(_bitmap);
- if (m_shouldPaint)
- graphics.FillEllipse(new SolidBrush(Color.Black), e.X, e.Y, 5, 5);
- }
- private void pictureBox1_MouseDown(object sender, MouseEventArgs e)
- {
- m_shouldPaint = true;
- }
- private void pictureBox1_Paint(object sender, PaintEventArgs e)
- {
- pictureBox1.Image = _bitmap;
- }
复制代码
问你graphics从何而来,这问题特别重要.
应该看得明白, 就不多做解释了, |
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 9-2-2011 12:06 AM
|
显示全部楼层
graphics从何而来?? 我不是很明白。 对不起,我是完完全全自己学的,可以大概解释一下吗?谢谢!!
我build 你的coding 时,第21行,有问题, 出现“Value cannot be null. Parameter name: image” |
|
|
|
|
|
|
|
|
|
|
发表于 9-2-2011 01:30 AM
|
显示全部楼层
回复 6# 麟
去读gdi. 从基础看起。不然修了外功,没有内功,也是空架子。
ps:我的code没有问题 |
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 9-2-2011 09:44 AM
|
显示全部楼层
你好犀利!!!能用了!!非常一百分感激!! |
|
|
|
|
|
|
|
|
|
|
发表于 9-2-2011 10:08 AM
|
显示全部楼层
|
|
|
|
|
|
|
|
|
|
发表于 10-2-2011 12:23 PM
|
显示全部楼层
|
|
|
|
|
|
|
|
|
|
发表于 10-2-2011 12:37 PM
|
显示全部楼层
回复 10# aquamax
就怕你不来,踩多两脚,人气比较旺 |
|
|
|
|
|
|
|
|
| |
本周最热论坛帖子
|