【发布时间】:2014-07-23 00:20:58
【问题描述】:
我需要创建一个函数,它接收一个字母数字字母作为参数并返回一个 NxM 大小的二进制数组,其中 1 和 0 将构成给定的字母。
例如,对于字母 A 和 B,数组可能如下所示:
00000110000 11111111100
00001001000 11000000011
00011001100 11000000011
00111111100 11111111110
01100000110 11000000011
11000000011 11000000011
11000000011 11000000011
11000000011 11111111111
提示:如果你睁大眼睛,你可以更好地看到字母
我知道如何做到这一点的唯一方法是手动为每个字符创建数组并将它们插入到 switch-case 中。这看起来非常沉闷和不专业。
有人有更好的主意吗?
【问题讨论】:
-
+1,问题说得很清楚,他是在征求意见,而不是“为我写代码”。
-
将字符渲染成图像(最好是单行距字体)。比检查像素颜色(黑色 = 1,白色 = 0)。如果要显示多个字符,请将整个文本呈现为图像并相应地分隔。
-
@Heinzi,这似乎不是一个可以回答的问题,只能讨论。 -1
-
@paqogomez:CSharpie 的建议(将等宽字体的字符渲染为位图并将位图转换为数组)对我来说听起来像是一个合适的答案。总的来说,我确实认为“有更优雅的方式来做 X 吗?”问题是这里的主题。 (看看那些“我可以用 LINQ 做 X 吗?”的问题,如果你需要赞成的例子。)
-
AlexandruSeverin,我没有不尊重的意思。 @Heinzi 和我对这么广泛的问题是否可以得到足够好的回答以产生效果有不同的看法。就我而言,我更喜欢看更多的代码。不过,我确实喜欢 CSharpie 对这个问题的看法。我认为它与您可以提出的问题一样具体。