C# 保存pictureBox的内容为一张图片(不包括不可见的部分)【急、急、急! 在线等!】

姑娘出来我爬山坡 2013-07-24 10:54:41
我的pictureBox是个圆形
只保存这个圆形显示出来图片。
没有显示的不保存。
...全文
258 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 1 楼 oALong1 的回复:
GDI+,用graphics对象,把目标范围的内容读进来,再保存。
GraphicsPath gp = new GraphicsPath();
            gp.AddEllipse(m_pictureBoxMinImage.ClientRectangle);
            Region region = new Region(gp);
            m_pictureBoxMinImage.Region = region;
            gp.Dispose();
            region.Dispose();
这个将pictureBox弄成了圆形。 但是显示的图片image还是矩形。 怎么才能将最后上传的图片 弄成圆形。 你说的目标范围指的是?
  • 打赏
  • 举报
回复
GDI+,用graphics对象,把目标范围的内容读进来,再保存。
  • 打赏
  • 举报
回复
454881870
  • 打赏
  • 举报
回复
引用 5 楼 oALong1 的回复:
上述方法即可.不依赖pictureBox的形状.
大哥 你有QQ么。。。 我们QQ聊?
  • 打赏
  • 举报
回复
引用 3 楼 oALong1 的回复:
[quote=引用 2 楼 u011206051 的回复:] [quote=引用 1 楼 oALong1 的回复:] GDI+,用graphics对象,把目标范围的内容读进来,再保存。
GraphicsPath gp = new GraphicsPath();
            gp.AddEllipse(m_pictureBoxMinImage.ClientRectangle);
            Region region = new Region(gp);
            m_pictureBoxMinImage.Region = region;
            gp.Dispose();
            region.Dispose();
这个将pictureBox弄成了圆形。 但是显示的图片image还是矩形。 怎么才能将最后上传的图片 弄成圆形。 你说的目标范围指的是? [/quote] 两码事了吧。 如果是要保存图片,图片其实不是真正的圆形的,圆形之外的其他像素填充为透明。

            
            //定义的图片
            Image img = new Bitmap(100,100);
            Graphics g = Graphics.FromImage(img);
            g.FillEllipse(
                new TextureBrush(imgToSave),
                0, 0, img.Width, img.Height
                );
             img.Save("c:\1.png");
[/quote] 就是说 现在我只会截矩形。。 圆形不知道截。。
  • 打赏
  • 举报
回复
上述方法即可.不依赖pictureBox的形状.
  • 打赏
  • 举报
回复
引用 3 楼 oALong1 的回复:
[quote=引用 2 楼 u011206051 的回复:] [quote=引用 1 楼 oALong1 的回复:] GDI+,用graphics对象,把目标范围的内容读进来,再保存。
GraphicsPath gp = new GraphicsPath();
            gp.AddEllipse(m_pictureBoxMinImage.ClientRectangle);
            Region region = new Region(gp);
            m_pictureBoxMinImage.Region = region;
            gp.Dispose();
            region.Dispose();
这个将pictureBox弄成了圆形。 但是显示的图片image还是矩形。 怎么才能将最后上传的图片 弄成圆形。 你说的目标范围指的是? [/quote] 两码事了吧。 如果是要保存图片,图片其实不是真正的圆形的,圆形之外的其他像素填充为透明。

            
            //定义的图片
            Image img = new Bitmap(100,100);
            Graphics g = Graphics.FromImage(img);
            g.FillEllipse(
                new TextureBrush(imgToSave),
                0, 0, img.Width, img.Height
                );
             img.Save("c:\1.png");
[/quote] 在保存之前 image都是矩形。 在保存的时候将他截取成圆形。 现在的问题: 在保存的时候怎么将他截成圆的 再去保存。
  • 打赏
  • 举报
回复
引用 2 楼 u011206051 的回复:
[quote=引用 1 楼 oALong1 的回复:] GDI+,用graphics对象,把目标范围的内容读进来,再保存。
GraphicsPath gp = new GraphicsPath();
            gp.AddEllipse(m_pictureBoxMinImage.ClientRectangle);
            Region region = new Region(gp);
            m_pictureBoxMinImage.Region = region;
            gp.Dispose();
            region.Dispose();
这个将pictureBox弄成了圆形。 但是显示的图片image还是矩形。 怎么才能将最后上传的图片 弄成圆形。 你说的目标范围指的是? [/quote] 两码事了吧。 如果是要保存图片,图片其实不是真正的圆形的,圆形之外的其他像素填充为透明。

            
            //定义的图片
            Image img = new Bitmap(100,100);
            Graphics g = Graphics.FromImage(img);
            g.FillEllipse(
                new TextureBrush(imgToSave),
                0, 0, img.Width, img.Height
                );
             img.Save("c:\1.png");

17,741

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 .NET Framework
社区管理员
  • .NET Framework社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧