WPF Path 同时设置填充色及背景图片 求高手

时间:2022-08-17 06:16:03
本人想实现一个功能 利用   System.Windows.Shapes.Path 来画出一个图形 例如为矩形 ,已经设置了的属性

            System.Windows.Shapes.Path myPath = new System.Windows.Shapes.Path();
            //设置边颜色
            myPath.Stroke = new SolidColorBrush(mediaColor);
            myPath.StrokeThickness = 1;
            //设置图形
            myPath.Data = myPathGeometry;
            //设置背景图片
            myPath.Fill = myImageBrush
            //myPath.Fill = new SolidColorBrush(Colors.Red);  

现在问题是实现的这个矩形 要不只能设置背景图片,要不只能设置填充色 ,现在我想同时设置, 请问该怎么解决啊   大家帮帮忙啊

11 个解决方案

#1


what?????

#2


次奥,,,没看懂。

#3


可能是你图片填充的方式是拉伸,
你可是设置图片的填充方式

#4


我现在就是想实现一个功能 用path画出一个矩形 ,然后给这矩形设置背景图片 并设置 矩形的填充色  怎么实现呢 

#5


该回复于2012-12-27 11:08:22被管理员删除

#6


我也想实现类似的效果!有没有弹出一个层的方式啊?

#7


你这个问题问的很奇怪 要么你用图片填充 要么你用背景色填充
你到底要实现什么东东呢
要么你干脆写个border 里面套个image
border可以直接设置边框 背景色 不影响image
为什么非要自己画个矩形呢
如果非要画矩形就画两层吧
底下画背景的 上面画图片的

#8


引用 7 楼 lhx527099095 的回复:
你这个问题问的很奇怪 要么你用图片填充 要么你用背景色填充
你到底要实现什么东东呢
要么你干脆写个border 里面套个image
border可以直接设置边框 背景色 不影响image
为什么非要自己画个矩形呢
如果非要画矩形就画两层吧
底下画背景的 上面画图片的

Path是由很多点组成的 这样我就可以设置一些点从而组成我想要的图形 设置两层 底面一层肯定会被覆盖的

#9


搞清楚自己的需求!
你想要图片加背景色,设置两个Path,分别填充。

如果图片不透明,那你想怎么让用户看到后面的东西呢,或许可以设置前面的Path的透明度

#10


引用 8 楼 t584432285 的回复:
引用 7 楼 lhx527099095 的回复:你这个问题问的很奇怪 要么你用图片填充 要么你用背景色填充
你到底要实现什么东东呢
要么你干脆写个border 里面套个image
border可以直接设置边框 背景色 不影响image
为什么非要自己画个矩形呢
如果非要画矩形就画两层吧
底下画背景的 上面画图片的
Path是由很多点组成的 这样我就可以设置一……

汗 神一般的需求 做wpf这么长时间 还没有遇到这么奇怪的东东呢
你看看答案 无非就是两种 根据自己的情况而定吧 不用纠结了 呵呵

#11


神一般的需求终于搞定了  只需将图片的颜色转换成我需要的颜色就行了 也就不需要填充背景色了 谢谢大家的回答啊

#1


what?????

#2


次奥,,,没看懂。

#3


可能是你图片填充的方式是拉伸,
你可是设置图片的填充方式

#4


我现在就是想实现一个功能 用path画出一个矩形 ,然后给这矩形设置背景图片 并设置 矩形的填充色  怎么实现呢 

#5


该回复于2012-12-27 11:08:22被管理员删除

#6


我也想实现类似的效果!有没有弹出一个层的方式啊?

#7


你这个问题问的很奇怪 要么你用图片填充 要么你用背景色填充
你到底要实现什么东东呢
要么你干脆写个border 里面套个image
border可以直接设置边框 背景色 不影响image
为什么非要自己画个矩形呢
如果非要画矩形就画两层吧
底下画背景的 上面画图片的

#8


引用 7 楼 lhx527099095 的回复:
你这个问题问的很奇怪 要么你用图片填充 要么你用背景色填充
你到底要实现什么东东呢
要么你干脆写个border 里面套个image
border可以直接设置边框 背景色 不影响image
为什么非要自己画个矩形呢
如果非要画矩形就画两层吧
底下画背景的 上面画图片的

Path是由很多点组成的 这样我就可以设置一些点从而组成我想要的图形 设置两层 底面一层肯定会被覆盖的

#9


搞清楚自己的需求!
你想要图片加背景色,设置两个Path,分别填充。

如果图片不透明,那你想怎么让用户看到后面的东西呢,或许可以设置前面的Path的透明度

#10


引用 8 楼 t584432285 的回复:
引用 7 楼 lhx527099095 的回复:你这个问题问的很奇怪 要么你用图片填充 要么你用背景色填充
你到底要实现什么东东呢
要么你干脆写个border 里面套个image
border可以直接设置边框 背景色 不影响image
为什么非要自己画个矩形呢
如果非要画矩形就画两层吧
底下画背景的 上面画图片的
Path是由很多点组成的 这样我就可以设置一……

汗 神一般的需求 做wpf这么长时间 还没有遇到这么奇怪的东东呢
你看看答案 无非就是两种 根据自己的情况而定吧 不用纠结了 呵呵

#11


神一般的需求终于搞定了  只需将图片的颜色转换成我需要的颜色就行了 也就不需要填充背景色了 谢谢大家的回答啊