在vb.net中我要填充不规则区域用什么方法?

zlylm 2007-11-22 11:35:40
如题
...全文
156 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
北京的雾霾天 2007-11-22
  • 打赏
  • 举报
回复
一定要得到这个区域的GraphicsPath,然后使用Graphics.FillPath 方法来填充。
pasl 2007-11-22
  • 打赏
  • 举报
回复
如果是扫描图形的话,那就只能用 hbxtlhx 讲的第二种办法了。
具体方法:进行行扫描,把连续相同颜色的看成一个线,用path.AddArc(x1,y1,x2,y2)来添加
zlylm 2007-11-22
  • 打赏
  • 举报
回复
我的情况恰恰是第二种情况,看来也只有用你所谓的最本的办法了。
北京的雾霾天 2007-11-22
  • 打赏
  • 举报
回复
有两个解决方法:
1:已给出了矩形的大小位置,这个简单不说了。
2:未知的大小位置但知道颜色值要填充,那么最笨的方法就是对所有的像素做一个循环,如果像素值和指定相同就绘制成需要的颜色。
zlylm 2007-11-22
  • 打赏
  • 举报
回复
这个我晓得,这都是用程序画上的图形,位置坐标都有。如果我是用picturebox控件装载了一幅图片,其中有个矩形,现在要填充这个矩形,怎么办?
北京的雾霾天 2007-11-22
  • 打赏
  • 举报
回复
编译代码
前面的示例是为使用 Windows 窗体而设计的,它需要 Paint 事件处理程序的参数 PaintEventArgse。
北京的雾霾天 2007-11-22
  • 打赏
  • 举报
回复
下面的示例创建包含一个开放式图形(弧)和一个闭合式图形(椭圆)的轨迹。FillPath 方法按照默认的填充模式(即 Alternate)填充轨迹。


GraphicsPath path = new GraphicsPath();

// Add an open figure.
path.AddArc(0, 0, 150, 120, 30, 120);

// Add an intrinsically closed figure.
path.AddEllipse(50, 50, 50, 100);

Pen pen = new Pen(Color.FromArgb(128, 0, 0, 255), 5);
SolidBrush brush = new SolidBrush(Color.Red);

// The fill mode is FillMode.Alternate by default.
e.Graphics.FillPath(brush, path);
e.Graphics.DrawPath(pen, path);
zlylm 2007-11-22
  • 打赏
  • 举报
回复
一个区域用GraphicsPath描述怎么实现,用什么语句?
现在就有一个图形,怎么样才能用GraphicsPath描述这个区域呢?即使它是一个规则图形。
用什么样的函数什么样的语句啊?
北京的雾霾天 2007-11-22
  • 打赏
  • 举报
回复
如果不规则区域不能使用GraphicsPath来描述,那么就很难填充了。
不规则区域可以是由多个规则区域组成,或不规则区域可以分解成多个规则区域,使用GraphicsPath可以把这些多个规则区域使用Add连接起来,然后再使用FillPath来填充。
zlylm 2007-11-22
  • 打赏
  • 举报
回复
到底怎么用啊?
大哥们帮帮忙好么?
我给你加分啊!
zlylm 2007-11-22
  • 打赏
  • 举报
回复
用什么方法得到这个区域的GraphicsPath啊?

16,722

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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