Mehr

ArcGIS-Farbbalken aus vordefinierten RGB-Werten


Ich habe einen 256-Element-Vektor von RGB-Triolen, abgeleitet vonviscm(ein Werkzeug zum Erstellen von wahrnehmungsbezogenen Farbbalken in einem CIE-Farbraum). Ich kann es mit den algorithmischen Farbbalkenfunktionen in ArcGIS nicht korrekt replizieren, selbst wenn die Optionen CIE LCh und LAB verwendet werden (da der Pfad durch den Farbraum eher ein Bogen als eine Linie ist, wie in ArcGIS angenommen wird ).

Gibt es eine Möglichkeit, einen Farbbalken anzugeben, indem ich ihm meine 256 Werte direkt zuweisen? Wenn ich einen mehrteiligen Farbbalken haben möchte, gibt es eine Möglichkeit, dies im Textformat anzugeben, damit ich zwischen jeder meiner 256 Farben interpolieren kann, ohne dies über die GUI tun zu müssen?

Dies ist in einem ersten Schritt für die Raster-Symbologie ausgelegt, soll aber auch auf Vektoren anwendbar sein. Beachten Sie auch, dass ich keine diskrete Farbkarte möchte, sondern eine, die zwischen den von mir angegebenen Werten interpoliert, idealerweise in einem der CIE-Räume.


Wenn Sie wissen, wie man in .NET programmiert und das ArcObjects SDK installiert hat, könnten Sie wahrscheinlich so etwas tun:

public void Test() {var rnd = new Random(); const esriColorRampAlgorithm algorithm = esriColorRampAlgorithm.esriCIELabAlgorithm; const int size = 10; const string name = "Rampe"; var Farben = neue Liste(); // Fügen Sie der Liste zufällige Farben hinzu, Sie müssen hier Ihre eigenen angeben für (var i = 0; i < 10; i++) { colors.Add(new RgbColorClass { Red = rnd.Next(256), Green = rnd. Next(256), Blau = rnd.Next(256)}); } var ramp = new MultiPartColorRampClass {Name = Name, Größe = Größe}; for (var i = 1; i < colors.Count; i++) { ramp.AddRamp(new AlgorithmicColorRampClass { FromColor = colors[i - 1], ToColor = colors[i], Algorithmus = algorithm, Size = size, Name = string .Format("{0} {1}", Name, i) }); } bool ok; ramp.CreateRamp(out ok); }