急!!!path描边问题!!

changmaohai1980 2010-03-11 03:03:18
我Image控件里有一张无背景的PNG图,如何使用Path给图片的边缘自动的描边。
也就是使用path画一个跟图片一样的轮廓的Path控件。
...全文
90 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
jv9 2010-03-12
  • 打赏
  • 举报
回复
通过以下代码可以动态创建path,至于给图片描边,我想可以是判断图片高宽后,动态创建path实现。


public void CreateAPath()
{

SolidColorBrush blueBrush = new SolidColorBrush();
blueBrush.Color = Colors.Blue;
SolidColorBrush blackBrush = new SolidColorBrush();
blackBrush.Color = Colors.Black;

// Create a Path with black brush and blue fill
Path bluePath = new Path();
bluePath.Stroke = blackBrush;
bluePath.StrokeThickness = 3;
bluePath.Fill = blueBrush;


LineGeometry blackLineGeometry = new LineGeometry();
blackLineGeometry.StartPoint = new Point(20, 200);
blackLineGeometry.EndPoint = new Point(300, 200);

// Create an ellipse geometry
EllipseGeometry blackEllipseGeometry = new EllipseGeometry();
blackEllipseGeometry.Center = new Point(80, 150);
blackEllipseGeometry.RadiusX = 50;
blackEllipseGeometry.RadiusY = 50;


RectangleGeometry blackRectGeometry = new RectangleGeometry();
Rect rct = new Rect();
rct.X = 80;
rct.Y = 167;
rct.Width = 150;
rct.Height = 30;
blackRectGeometry.Rect = rct;


GeometryGroup blueGeometryGroup = new GeometryGroup();
blueGeometryGroup.Children.Add(blackLineGeometry);
blueGeometryGroup.Children.Add(blackEllipseGeometry);
blueGeometryGroup.Children.Add(blackRectGeometry);


bluePath.Data = blueGeometryGroup;

LayoutRoot.Children.Add(bluePath);
}

蝈蝈刚写了一篇关于Path的文章,可以参考。
http://blog.csdn.net/ghj1976/archive/2010/03/10/5365493.aspx
xiamiking 2010-03-12
  • 打赏
  • 举报
回复
额。。

其实如果只是需要描边的话。。给Image套上一个和Image一样大小的Rectangle,然后设置Stroke(颜色)和StrokeThickness(粗细)
changmaohai1980 2010-03-12
  • 打赏
  • 举报
回复
矩形的方式不能使用。因为我的图片是PNG的没有背景的图片,也就是描绘图片的边缘。
Goldfire_001 2010-03-12
  • 打赏
  • 举报
回复
顶1楼。

8,735

社区成员

发帖
与我相关
我的任务
社区描述
WPF/Silverlight相关讨论
社区管理员
  • WPF/Silverlight社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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