2016-05-13 6 views
0

Hi vor einer langen Zeit habe ich diesen Code in einer Windows Form App verwendet, um einen Farbverlauf in einem einzigen Dreieck zu zeichnen, das später zur Erzeugung einer farbbasierten Heatmap über 3D verwendet werden kann Mesh:C# WPF nicht in der Lage, Heatmaps auf 3D Meshes zu zeichnen

PathGradientBrush gradientBrush = new PathGradientBrush(points); 
Color[] colors = { Color.Red, Color.Blue, Color.Green }; 
gradientBrush.CenterColor = Color.ToARGB(85,85,85); 
gradientBrush.SurroundColors = colors; 
surface.FillPolygon(gradientBrush, points); 

konnte ich einen Gradienten wie diese von den Ecken des Dreiecks zeichnen, die sich nahtlos in der Mitte davon verblaßt. Indem ich viele Dreiecke zusammenstellte, konnte ich eine Colormap auf meinem 3D-Mesh erzeugen, die nahtlos war und keine scharfen Grenzen hatte.

Allerdings gibt es nicht PathGradientBrush in WPF mehr. Wie kann ich mit nur den begrenzten linearen und radialen Pinseln eine Colormap zwischen drei Punkten erzeugen? Gibt es andere Möglichkeiten, das gleiche Ergebnis zu generieren?

+0

Haben Sie die LinearGradientBrush Klasse gesehen? –

+0

Ja, aber Sie können es nicht damit verwenden. Es macht nur einen Pinsel von einem Punkt zum anderen, nicht zwischen drei Punkten. – DerBenutzer

Antwort