【发布时间】:2021-09-21 07:17:29
【问题描述】:
我正在使用 Julia,我尝试测试一个函数,该函数可以创建图像并根据给定的字符串分配 Red 值。听到这句话,我敢肯定你能想到我可以做一百万件事来收到一条错误消息,但是这个错误:
在第 13 行生成。
这是第 13 行:
r = (i + 64*rand(0:3) - 1)/255
这只是数学! r 是我正在分配的一个新变量。 i 是数组中每个字符的索引。这似乎在控制台中有效,所以之前的代码中可能发生了一些奇怪的事情,只是没有被捕获。这是整个函数:
function generate(string, width)
img = rand(RGB,width,floor(Int,length(string)/width) + 1)
for n in 1:length(string)
i = indexin(string[n], alphabet)
r = (i + 64*rand(0:3) - 1)/255
g = img[n].g
b = img[n].b
img[n] = RBG(r,g,b)
end
return img
end
有谁知道这个错误信息是什么意思,或者我做错了什么?
【问题讨论】:
-
不要先进行浮点除法,然后用
floor(Int,length(string)/width)进行舍入,而应直接使用div函数进行整数除法:div(length(mystring), width)。 -
请不要发布代码/错误/数据的图像。而是将代码/错误/数据作为文本发布在代码块中。见How do I ask a good question?
标签: math julia pixel-manipulation