2010-08-05 71 views
5

像我之前的两个家伙there和第二个there我有三维图表的困难。ASP.NET图表控件的默认3D图表透明度?

如何迫使他们是透明的像这样的画面: alt text http://i37.tinypic.com/20jk0ls.png

从随ASP.NET图表控件 3D面积图示例获取的。此图表有ChartColorPalette.BrightPastel托盘,但是透明。

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

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

我发现的唯一方法是设置一系列的颜色alpha通道透明度,或使用透明颜色调色板(例如ChartColorPalette .SemiTransparent)但是必须有一些我错过的默认方式。

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

非常感谢您的任何答案。

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

+0

我甚至无法得到它的3D。我启用了3D,但它不绘制3D,只是相同的平面图。 – Jeroen 2010-08-05 15:50:46

回答

1

我同样的问题在这里。使用此解决:

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

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

Here's可用的调色板和一些基本的关于操纵他们

我猜一个很好的概述是,你可以创建一个新的调色板通过迭代明亮的淡色调色板中的颜色并添加一个alpha通道 - 如果您在全局静态中执行此操作(可能将其作为webapp init逻辑的一部分),则应该可以很轻松地引用它 - 如果您不想要有任何代码隐藏,你呢?能够将自定义调色板数据绑定到CustomPalette属性,但我不能肯定地说。

+0

我现在正在做这件事。但是......我还没有发现3D例子中的任何标准palete颜色操作,它具有明亮的柔和色彩,但IS也是透明的。所以一定有某种方式。 – Crank 2010-08-09 06:39:15

1

如果你使用的调色板,每系列不是一个颜色,你必须为每个点设置颜色:

myChart.ApplyPaletteColors(); 

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