5

就像我之前的两个人和那里的第二个一样我对 3D 图表有困难。

如何强制它们像这张图片一样透明: 替代文字

取自ASP.NET 图表控件附带的 3D 面积图示例。此图表具有ChartColorPalette.BrightPastel调色板,但它是透明的。

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

替代文字

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

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

非常感谢您的任何回答。

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

4

3 回答 3

1

If you do use palette, and not one color per series, you have to set color for every point:

myChart.ApplyPaletteColors();

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

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

// After all series manipulation, add this
chart.ApplyPaletteColors();
foreach (var serie in chart.Series)
    serie.Color = Color.FromArgb(220, serie.Color);
于 2011-10-29T16:07:49.323 回答
1

我看你也在这个话题上。不幸的是,您确实需要使用带有 alpha 通道的颜色来设置透明度 AFAIK

这是可用调色板的一个很好的概述以及操作它们的一些基础知识

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

于 2010-08-07T12:45:32.437 回答