我在写一个程序,生成图像,我想将它带入一个Repa阵列。我目前使用的类型:正在扩展修复阵列形状
data Colour = Colour Double Double Double
代表像素,并且我有一个(可能是低效率的,但功能)功能,其一个Colour
转换成DIM1
数组:
colourToRepa :: Colour -> Array U DIM1 Double
colourToRepa (Colour r g b) = R.fromListUnboxed (Z :. (3::Int)) [r,g,b]
的图像在我此刻的程序只是一个[Colour]
值,(Int, Int)
代表维度。
我可以用它来建立一个Array V DIM2 Colour
很轻松了,但有一个方法(使用colourToRepa
或其他方式),以扩大这一阵列为Array U DIM3 Double
?
有了列表我可以使用map
但是Repa的地图保留了阵列的形状(我想从DIM2
到DIM3
)。
啊。我忘记了这一点。谢谢! –