首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >WPF-相同的弧段由2种不同的颜色组成

WPF-相同的弧段由2种不同的颜色组成
EN

Stack Overflow用户
提问于 2012-12-19 17:52:48
回答 1查看 991关注 0票数 1

要求:我必须配备一个电压表用户控制。

下面的代码绘制一个由电压表刻度和值组成的弧线。

代码语言:javascript
运行
复制
    <Path Name="Pth" Stroke="DarkGray"  StrokeThickness="2" Width="Auto"  Height="48" Canvas.Top="12">
        <Path.Data>
            <PathGeometry >
                <PathFigure   StartPoint="35,28">
                    <ArcSegment   IsLargeArc="False"
                            Size="23,75"
                            Point="200,28"
                            SweepDirection="Clockwise"
                                RotationAngle="90"/>
                </PathFigure>
            </PathGeometry>
        </Path.Data>

正如人们在上面看到的,所用的钢笔是stroke=dark灰色的。我不是在说填充财产。

但是,弧的一个部分必须以蓝色(作为告警值)呈现,以响应用户指定的弧形range.Any部分。

大图是弧线的主要部分,用灰色笔渲染,报警部分是蓝色的。

正如上面所看到的问题,我们只能将笔分配给路径(而不是弧段、几何图形或路径图),路径一次只能使用一支笔。

一个渐变画笔在这里不能工作,因为颜色混合in.Here,两个部分的弧线必须清楚地区别于彼此的颜色。

如果我使用两条路径将弧线分割成2个弧段,我必须接受现有的各种计算,这取决于路径几何的分数值。

我的案子最好的办法是什么?伙计们有什么建议吗?

EN

回答 1

Stack Overflow用户

发布于 2012-12-19 17:54:53

取自here

一个想法可以是使用渐变刷,没有间隔之间的颜色块。

例如:

代码语言:javascript
运行
复制
<Rectangle Width="200" Height="50">
    <Rectangle.Fill>
        <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
            <GradientStop Color="Red" Offset="0.500"/>
            <GradientStop Color="Lime" Offset="0.500"/>
        </LinearGradientBrush>
    </Rectangle.Fill>
</Rectangle>

会产生如下结果:

尽管我担心您可能很难为它找到正确的偏移量,但是如果应该动态计算它的话。

编辑:你能给我们展示一下这条弧线的大致形状吗?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13958211

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档