2010-08-05 4 views
5

wie zwei Jungs vor mir there und zweite there Ich habe Schwierigkeiten mit 3D-Diagramm.Standard-3D-Diagrammtransparenz mit ASP.NET Chart Control?

Wie sie zwingen, wie dieses Bild transparent zu sein: alt text http://i37.tinypic.com/20jk0ls.png

genommen von 3D-Flächendiagramm Beispiel ausgeliefert mit ASP.NET Chart-Steuerelemente. Dieses Diagramm hat ChartColorPalette.BrightPastel pallete, aber ist transparent.

Ich habe auch 3D-Diagramm mit ChartColorPalette.BrightPastel Palette, aber ist nicht transparent und ich kann immer noch nicht finden, wie man es transparent wie Beispiel Diagramm machen. (Nach Prüfung Beispiel Markup und Code-Behind):

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

Der einzige Weg, die ich gefunden habe ist die Farbe der Serie mit Alpha-Kanal für Transparenz zu setzen, oder eine Farbpalette mit transparenten Farben verwenden (zum Beispiel ChartColorPalette .SemiTransparent) aber es muss ein anderer Standard Weg sein, den ich vermisse.

Grund ich brauche wirklich zu wissen ist, dass ich Grafiken ohne Code hinter nur Markup erstellen, so finde ich es ein wenig überflüssig, nur deswegen Code-Schnipsel zu erstellen.

Vielen Dank für die Antworten.

Edit: Ich benutze .NET 3.5 Version von ASP.NET-Charts.

+0

ich nicht einmal in 3D bekommen. Ich habe 3D aktiviert, aber es zeichnet kein 3D, nur das gleiche flache Diagramm. – Jeroen

Antwort

1

Ich würde das gleiche Problem hier. Gelöst mit diesem:

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

Ich sehe, du bist auf this Thread zu. Leider müssen Sie Farben mit einem Alphakanal nutzen, um Transparenz zu setzen AFAIK

Here's eine gute Übersicht über die Paletten zur Verfügung und einige Grundlagen zur Bearbeitung von ihnen

Meine Vermutung ist, dass Sie eine neue Palette erstellen könnten indem Sie über die Farben in der hellen Pastellpalette iterieren und einen Alphakanal hinzufügen - wenn Sie dies in einer globalen statischen, vielleicht als Teil Ihrer Webapp-Init-Logik tun, sollten Sie in der Lage sein, es ziemlich leicht zu referenzieren - wenn Sie nicht wollen zu haben beliebig Codebehind, Sie können? in der Lage sein, Ihre benutzerdefinierte Palette an die CustomPalette-Eigenschaft zu binden, aber ich kann nicht mit Sicherheit sagen.

+0

Genau das mache ich jetzt. Aber ... Ich habe im 3D-Beispiel, das helle Pastellfarben hat, keine Standardfarben-Farbmanipulationen entdeckt, ist aber auch transparent. Also muss es einen Weg geben. – Crank

1

Wenn Sie Palette tun verwenden, und nicht eine Farbe pro Reihe, haben Sie Farbe setzen für jeden Punkt:

myChart.ApplyPaletteColors(); 

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