代码很简单:我按下按钮,图片被加载到PictureBox中。
private void button1_Click(object sender, EventArgs e)
{
using (FileStream stream = File.OpenRead(FullName))
{
pictureBox1.Image = (Bitmap)Bitmap.FromStream(stream).Clone();
stream.Close();
stream.Dispose();
}
}
但是当我从其他函数\事件中使用 PictureBox'e 上的 Graphics 时,它发誓在 Graphics.FromImage 上没有足够的内存。不管我用这个时间表做什么。例子:
using (Graphics g = Graphics.FromImage(pictureBox1.Image))
{
g.Clear(Color.FromArgb(0, 255, 255, 255));
pictureBox1.Invalidate();
}
问题是,为什么我可以在将图片上传到 PictureBox 之前对 Graphics 做任何我想做的事情:剪切、填充、绘制;但是上传图片后我不能?ps 图片尝试了不同的尺寸。同一张图片在上传前有效(已经在默认图片框中),上传到图片框后无效。走了很多关于这个主题的论坛,但没有找到我的案例(或最相似的案例)。
qq_笑_17
慕斯709654
相关分类