4

我试图让饼图显示为透明。理想情况下,它应该看起来像本页左侧的第三个图表(链接)。

到目前为止,我已经尝试在 chartArea 上设置透明度:

<asp:ChartArea Name="ChartArea1" BackColor="64, 165, 191, 228" BackGradientStyle="TopBottom" 
            BackSecondaryColor="Transparent" BorderColor="64, 64, 64, 64"  
            ShadowColor="Transparent">

我也尝试从代码隐藏设置它:

    protected void pieChart_Customize(object sender, EventArgs e)
    {
        foreach (Series s in pieChart.Series)
        {
            s.Color = Color.FromArgb(128, s.Color);
        }
    }

然而,这些方法都不起作用。有没有人设法设置这种图表控件的透明度?

4

4 回答 4

3

这似乎有效:

protected void Button1_Click(object sender, EventArgs e)
{
    Chart1.Series[0].Points[0].Color = Color.FromArgb(100, Color.Blue);
}

参考:http: //msdn.microsoft.com/en-us/library/1hstcth9%28v=vs.110%29.aspx

于 2011-04-08T03:55:32.360 回答
2

我在 MSDN 网站上找到了答案:link

这是最终为我工作的确切代码:

    protected void Page_Load(object sender, EventArgs e)
    {
        pieChart.Series[0].Palette = ChartColorPalette.SemiTransparent;
    }
于 2011-04-12T11:42:56.447 回答
2

获得相同颜色的唯一方法是使用默认调色板并将所有点的 alpha 设置为 220(这是他们在所有样本中使用的数字):

设置所有点后,使用此代码获得理想的效果:

myChart.ApplyPaletteColors();

foreach (var series in myChart.Series)
{
    foreach (var point in series.Points)
    {
        point.Color = Color.FromArgb(220, point.Color);
    }
}
于 2012-02-10T05:21:52.320 回答
-1

谢谢 !!因为我有同样的问题。现在我修复了我的应用程序,它现在可以工作了!!我用:

myChart.ApplyPaletteColors();

foreach (var series in myChart.Series)
{
    foreach (var point in series.Points)
    {
        point.Color = Color.FromArgb(220, point.Color);
    }
}

引用标题

谢谢!!:)

于 2012-09-25T16:18:53.273 回答