可能重复:
旋转图像 .pbm Haskell
我需要有关 haskell 中的旋转矩阵的帮助
我有 2 种数据类型:
data RGBdata= RGB Int Int Int
data PBMfile= PBM Int Int [[RGBdata]]
我的功能收到:
spin :: PBMfile -> PBMfile
spin (PBM x y l) = (PBM x y ((transpose . reverse) l))
其中“x”和“y”分别是列数和行数(也许可以帮助执行该功能)。
例如:
(PBM 2 2 [[(RGB 0 255 255),(RGB 255 0 0)],[(RGB 255 255 255),(RGB 255 0 0)]])
我尝试使用反向和转置的组合向左旋转 90°,但图像结果是错误的。
我试试
spin :: PBMfile -> PBMfile
spin (PBM x y l) = (PBM x y ((reverse . transpose) l))
和
spin :: PBMfile -> PBMfile
spin (PBM x y l) = (PBM x y ((transpose . reverse) l))
和
spin :: PBMfile -> PBMfile
spin (PBM x y l) = (PBM x y (((map reverse) . transpose) l))
旋转矩阵但不起作用。
结果类似于