ASP.NET Chart Control的默认3D图表透明度?

时间:2010-08-05 14:02:59

标签: c# asp.net charts asp.net-charts

像我之前的两个人there和第二个there我在3D图表上遇到了困难。

如何强制它们像这张图片一样透明: alt text http://i37.tinypic.com/20jk0ls.png

取自 ASP.NET图表控件附带的3D区域图示例。此图表有 ChartColorPalette.BrightPastel 托盘,但是透明。

我还有 ChartColorPalette.BrightPastel 调色板的3D图表,但是不透明,我仍然找不到如何让它像示例图表一样透明的方法。 (在检查了示例标记和代码隐藏之后):

alt text http://i33.tinypic.com/10sbq7p.png

我找到的唯一方法是使用alpha通道设置系列的颜色以获得透明度,或者使用透明色的调色板(例如 ChartColorPalette.SemiTransparent ),但必须有其他一些我缺少的默认方式。

我真正需要知道的是,我正在使用标记创建没有任何代码的图形,所以我发现创建代码片段有点多余,因为这样做。

非常感谢您的回答。

编辑:我正在使用.NET 3.5版的ASP.NET图表。

3 个答案:

答案 0 :(得分:1)

我看到你也在this线程上。不幸的是,您需要使用带alpha通道的颜色来设置透明度AFAIK

Here's很好地概述了可用的调色板以及操作它们的一些基础知识

我的猜测是你可以通过迭代明亮的柔和调色板中的颜色并添加alpha通道来创建一个新的调色板 - 如果你在全局静态中执行此操作,也许作为webapp init逻辑的一部分,你应该是能够很容易地引用它 - 如果你不想拥有任何代码隐藏,你可以吗?能够将自定义调色板数据绑定到CustomPalette属性,但我不能肯定地说。

答案 1 :(得分:1)

我在这里遇到同样的问题。解决了这个问题:

// After all series manipulation, add this
chart.ApplyPaletteColors();
foreach (var serie in chart.Series)
    serie.Color = Color.FromArgb(220, serie.Color);

答案 2 :(得分:1)

如果您使用调色板,而不是每个系列使用一种颜色,则必须为每个点设置颜色:

myChart.ApplyPaletteColors();

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