algorithmic modeling for Rhino
I am trying to convert a String type to a Color type in Grasshopper using the C# component.
The input is a list of Strings in this format:
e.g. 255, 255, 255
I would like to convert these values into a color object, and thus, I used a function in C# called System.Drawing.Color.FromArgb(int red, int green, int blue);
Attached is my script:
My main function is simply:
I am taking the list of strings, converting it to an array. For each index of the array, I am splitting the strings into three integers, and taking those three integers and converting them into a Color object using the FromArgb() method, which takes in three integers red, green, and blue, respectively.
My C# Scripting Component's input is set to List Access and the Type Hint is string.
The error I have been getting is this:
The script works when used in Visual Studio, however, does not work when I try to use it in Grasshopper. Could someone help me debug what the issue could be, and perhaps:
1. Suggest a better way than to use static methods to do the conversion
2. Rewrite this so I'm dealing with Lists instead of an Array.
Thank you for the help.
Tags:
you can also just use a param color component for this without writing a c# component, are you working on something specific?
Hi!
This should work:
public static Color[] convertToColor(String[] stringArray)
{
var colorArray = new Color[stringArray.Length];
for (var i = 0; i < stringArray.Length; i++)
{
var splitString = stringArray[i].Split(',');
var splitInts = splitString.Select(item => int.Parse(item)).ToArray();
colorArray[i] = Color.FromArgb(splitInts[0], splitInts[1], splitInts[2]);
}
return colorArray;
}
Greetings!
Welcome to
Grasshopper
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
© 2024 Created by Scott Davidson. Powered by