module Main where
import Graphics.Avatars.Pixelated
import System.Environment (getArgs)
main :: IO ()
main = do
args <- getArgs
checkForProperArgs args
let path = head args
let seedString = args !! 1
putStrLn $ "Creating avatar at " ++ path
createAndSaveAvatar path seedString
putStrLn $ "Successfully created avatar, and saved it to " ++ path
checkForProperArgs :: [String] -> IO ()
checkForProperArgs args = if length args /= 2
then error $ "Improper number of arguments.\n\n" ++ usageInfo
else return ()
usageInfo :: String
usageInfo = unlines [
"Usage: pixelated-avatar-generator FILEPATH SEEDSTRING"
, ""
, "FILEPATH -- The location to save the generated avatar at. \"img/test.png\""
, "SEEDSTRING -- The string to use to generate the avatar. \"Hello\""
]
createAndSaveAvatar :: FilePath -> String -> IO ()
createAndSaveAvatar path s = do
let seed = createSeed s
let avatar = generateAvatar seed
print avatar
let avatarScaled = scaleAvatar 32 avatar
saveAvatar avatarScaled path