美文网首页开源工具技巧@IT·互联网程序员
Mac OS一键合成并更换图灵编程日历壁纸

Mac OS一键合成并更换图灵编程日历壁纸

作者: SkyNet_Z | 来源:发表于2018-02-06 22:48 被阅读270次

    今天在看GitHub的timeline时,看见了一个有趣的项目2018_code_calendar_wallpaper,这是将图灵教育所发售的编程日历电子版和壁纸结合的一个项目,然而是Windows版本的,于是我又想将他翻译成Mac OS的,并且做成一个一键更换壁纸的脚本。

    项目地址 Github: 2018_code_calendar_wallpaper_MacOS如果喜欢的话,请点个star

    效果图:

    turing6.jpg

    依赖

    • Python3
    • Wand pip install wand
    • ImgaeMagick

    有一些同学说会出现no module named wand的情况,我特意去wand官网查看了一下,Wand is a Python binding of ImageMagick, so you have to install it as well所以必须安装ImgaeMagick,这里只给出官网上的Mac OS的安装方法

    $ brew install imagemagick
    # If seam carving (Image.liquid_rescale()) is needed you have install liblqr as well
    $ brew install imagemagick --with-liblqr
    $ sudo port install imagemagick
    $ export MAGICK_HOME=/opt/local
    

    当然,下面的采坑经历我也给出一种安装方式,亲测有效

    $ brew uninstall --force imagemagick
    $ brew install imagemagick@6
    $ echo 'export PATH="/usr/local/opt/imagemagick@6/bin:$PATH"' >> ~/.bash_profile
    $ brew link imagemagick@6 --force
    
    
    • Ghostscript brew install ghostscript即可

    使用:

    下载项目,进入项目地址,然后python wallpaper.py即可实现一键换壁纸,如果你想使用自己的壁纸,可以将项目目录下的paper.jpg换成你的壁纸。

    参考资源:

    1. ttttmr2018编程日历壁纸
    2. 极客编程日历2018桌面壁纸

    采坑经历:

    $ brew uninstall --force imagemagick
    $ brew install imagemagick@6
    $ echo 'export PATH="/usr/local/opt/imagemagick@6/bin:$PATH"' >> ~/.bash_profile
    $ brew link imagemagick@6 --force
    
    • 在"一键换壁纸",一直不知道Mac OS除了在系统设置中换壁纸外其他的方法,后来找到了一篇文章Shell系列 - Mac OS X自动下载切换桌面壁纸,于是照猫画虎,在python中使用了os.system("osascript -e \"tell application \\\"Finder\\\" to set desktop picture to POSIX file \\\"/Users/apple/Desktop/Wallpaper/" + OUTPUT + "\\\"\"")以实现“一键换壁纸”的效果。但"一键换壁纸"的命令中壁纸的地址必须使用绝对路径,所以还得通过os.getced()获取当前路径,所以最后的代码为:
    address = os.getcwd() + "/" + OUTPUT 
    os.system("osascript -e \"tell application \\\"Finder\\\" to set desktop picture to POSIX file \\\"" + address + "\\\"\"")
    
    • 由于壁纸的大小不同,可能会导致脚本运行后得到的日历壁纸在屏幕显示中不太正常,如有需要可以自己更改脚本中的参数:
      MARGIN_LEFT,MARGIN_TOP以及resolution

    • 当同一图片文件发生改变,再使用上述“一键换壁纸”命令时发现,壁纸并不会发生改变,为了使得每周使用者在使用该脚本时正常使用,特意改变输出文件的文件名为turing+本周周数。

    如果有其他的问题,可以评论私信我,也可以关注我的新浪微博@ninjiacoder私信我,也可以发邮件给我rayzhao98@163.com

    相关文章

      网友评论

      • 骨灰级果粉:请问你的程序是读的pdf吗?我用另一种方式读pdf,读出来背景色是白色,放在桌面上很丑,你是怎么做到背景色透明的?

      本文标题:Mac OS一键合成并更换图灵编程日历壁纸

      本文链接:https://www.haomeiwen.com/subject/tcmnzxtx.html