如何强制它们像这张图片一样透明: 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图表。
答案 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);
}
}