2013-07-19 1 views
10

Ich benutze SSRS reportviewer, um einen Bericht mit Objekten zu generieren. In meinem Programm frage ich den Benutzer, eine Reihe von allgemein bekannten Farben wie "Red", "Blue", etc. einzugeben. Ich möchte dann drei Schattierungen dieser Farbe erzeugen und diese Farbe verwenden, um ein Flächendiagramm in meinem Bericht zu füllen. ich so die Opazität mein Wechsel (alpha) der FarbWie ändert man die Transparenz einer Farbe in C#

das ist mein Code, um die Zeichenfolge Farbe konvertiert.

newitem.ChartColor = "red"; 
Color mycolor = Color.FromName(newitem.ChartColor); 

aber jetzt würde ich mag zwei weitere Farben mit gleichen Farbton erzeugen, als rot, aber andere Alpha (Opazität), so dass sie heller erscheinen, so etwas wie #56FF0000

Ich habe versucht, einen Wert an die A-Eigenschaft von Color zu übergeben, es ist jedoch schreibgeschützt.

Jede Hilfe wird geschätzt.

Antwort

3

Sie können mit dieser Funktion

static Color SetTransparency(int A, Color color) 
    { 
     return Color.FromArgb(A, color.R, color.G, color.B); 
    } 
+0

Ich glaube nicht, 'SetTransparency' ist ein klarer Name. Die Eigenschaft einer vorhandenen Farbe wird nicht geändert, stattdessen wird eine neue Farbe erstellt und zurückgegeben. – DaveInCaz

1

Ich denke, was unter diesen Antworten eingeschlossen werden muss, ist, dass der Alpha-Wert gibt an, wie transparent die Farbe ist mit 0 das Wesen am transparentesten und mit 255 am undurchsichtigsten. Hier ist eine Zusammenfassung:

     A L P H A V A L U E 
0 [<--- most transparent] ... ... ... [most opaque --->] 255 
Verwandte Themen