C#下用DrawImage将图像绘制到picturebox上

我用picturebox打开了一张图片,利用代码openFileDialog1=newOpenFileDialog();openFileDialog1.Filter="j... 我用picturebox打开了一张图片,利用代码
openFileDialog1 = new OpenFileDialog();
openFileDialog1.Filter = "jpg文件(*.jpg)|*.jpg|jpeg文件(*.jpeg)|*.jpeg|bmp文件(*.bmp)|*.bmp|gif文件(*.gif)|*.gif|ico文件(*.ico)|*.ico|png文件(*.png)|*.png|tif(文件)(*.tif)|*.tif|wmf文件(*.wmf)|*.wmf";
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
this.pictureBox1.Image = System.Drawing.Image.FromFile(openFileDialog1.FileName);
str = openFileDialog1.FileName;
this.保存ToolStripMenuItem.Visible = true;
toolStripStatusLabel1.Text = "图片路径:" + str;
}

现在我对图片进行了反色编辑
private void 反色ToolStripMenuItem_Click(object sender, EventArgs e)
{
int Height = image.Height;
int Width = image.Width;
Bitmap bitmap = new Bitmap(Width ,Height );
Bitmap MyBitmap = (Bitmap)image;
Color pixel;
for (int x = 1; x < Width; x++)
{
for (int y = 1; y < Height ; y++)
{
int r, g1, b;
pixel = MyBitmap.GetPixel(x, y);
r = 255 - pixel.R;
g1 = 255 - pixel.G;
b = 255 - pixel.B;
bitmap.SetPixel(x, y, Color.FromArgb(r, g1, b));
}
}
g = this.CreateGraphics ();
g.DrawImage(bitmap ,0,0);
}

执行后,图像只能在picturebox外显示,请问如何才能覆盖原图片显示处理后的图片 ?
展开
 我来答
xdq025
2013-05-26 · 超过61用户采纳过TA的回答
知道小有建树答主
回答量:209
采纳率:0%
帮助的人:121万
展开全部
反色ToolStripMenuItem_Click方法中的

g = this.CreateGraphics ();//获取窗体画刷
g.DrawImage(bitmap ,0,0);//在窗体左上角绘制图形
这两句代码按你的想法是错误的;
按楼上的 把 上面那两句 换成pictureBox1.Image=bitmap;就行了

另外 提醒下,方法\变量 命名 最好规范化
百百mp3
2013-05-26 · TA获得超过855个赞
知道小有建树答主
回答量:901
采纳率:90%
帮助的人:550万
展开全部
g = this.CreateGraphics ();

要改为:
g = pictureBox1.CreateGraphics();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-05-25
展开全部

你只要

pictureBox1.Image=bitmap;

不就行了。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式