将RGB字符串转换为颜色类型

青菜

我正在读取具有RGB值列表的文件,即

0,1,6
0,2,6
0,43,170
0,42,168
0,44,175
0,44,176
0,44,176
0,221,255
0,222,255
0,222,255

我已经string[]使用以下构造函数将所有这些值存储到数组中:

    public Program(int rows, String fileLocation) {

        int i;
        String line;
        count = 0;
        this.rows = rows;
        this.fileLocation = fileLocation;
        stringArray = new String[rows];

        try {
            System.IO.StreamReader file = new System.IO.StreamReader(fileLocation);
            for (i = 0; i < rows; i++) {
                while ((line = file.ReadLine()) != null) {
                    stringArray[i] = line;
                    count++;
                    break;
                }
            }
        }
        catch (Exception e) {
            throw (e);
        }
    }

我想将这些current转换StringColor值,因为它们只是String形式的RGB值。

所以我用这种方法:

    public Color[] convertToColorArray() {
        for (int i = 0; i < rows; i++) {
            colorArray[i] = System.Drawing.Color.FromArgb(stringArray[i]);
        }
        return colorArray;
    }

话虽如此,我收到以下错误:

在此处输入图片说明

告诉我我有一个无效的参数。我知道该参数不一定是这样的255,255,255,它ints用逗号分隔三个,但是我的string输入是这种格式。我该怎么办?我应该把它丢给什么吗?我是否应该一Color[]开始就将这些值简单地存储到构造函数中?

斯科特·张伯伦

查看的重载Color.FromArgb,它们都希望int被传递。因此,不能,您不能仅传递一个字符串并期望它可以工作。但是,将字符串转换为一组整数并不难。

public Color[] convertToColorArray() {
    for (int i = 0; i < rows; i++) {
        //This gives us an array of 3 strings each representing a number in text form.
        var splitString = stringArray[i].Split(','); 

        //converts the array of 3 strings in to an array of 3 ints.
        var splitInts = splitString.Select(item => int.Parse(item)).ToArray(); 

        //takes each element of the array of 3 and passes it in to the correct slot
        colorArray[i] = System.Drawing.Color.FromArgb(splitInts[0], splitInts[1], splitInts[2]); 
    }
    return colorArray;
}

所有这些代码都假定您的源文件格式正确,因此string.Split将始终返回至少3个数组,并且int.Parse永远不会在解析输入时失败。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将RGB数字数组转换为十六进制颜色字符串

来自分类Dev

MongoDB将字符串类型转换为浮点类型

来自分类Dev

将类型名称从类型转换为字符串

来自分类Dev

MongoDB将字符串类型转换为浮点类型

来自分类Dev

将字符串转换为颜色VB.NET

来自分类Dev

Flutter / Dart:将字符串转换为颜色?

来自分类Dev

Flutter Dart将字符串转换为颜色

来自分类Dev

将字符串转换为对象的颜色

来自分类Dev

将RGB字符串转换为RGBa字符串的正则表达式

来自分类Dev

UnicodeDecodeError:将类型字符串转换为unicode

来自分类Dev

如何将MultiIndex转换为字符串类型

来自分类Dev

将字符串数组转换为其他类型

来自分类Dev

将LinqToExcel.RowNoHeader类型转换为字符串

来自分类Dev

无法将类型“字符串”转换为“整数”?

来自分类Dev

将数据类型转换为字符串(SML)

来自分类Dev

熊猫将混合类型转换为字符串

来自分类Dev

Elm尝试将字符串转换为选项类型

来自分类Dev

无法将类型“字符串”的值转换为“ NSURL”

来自分类Dev

无法将类型[NSObject:AnyObject]转换为字符串

来自分类Dev

将数字类型转换为对应的字符串一

来自分类Dev

将字符串转换为字体图标类型UWP

来自分类Dev

KOTLIN将字符串转换为通用类型

来自分类Dev

Pyspark列:将字符串转换为日期类型

来自分类Dev

将字符串[]转换为列表类型<SerialNumber>

来自分类Dev

熊猫-将值转换为类型字符串以浮动

来自分类Dev

将字符串类型转换为pyspark中的行

来自分类Dev

将任何类型的任何数组转换为字符串

来自分类Dev

将字符串转换为用户定义的类类型

来自分类Dev

将字符串转换为页面类型?

Related 相关文章

热门标签

归档