直接给出源码
设置壁纸
feh --bg-scale /tmp/earth.png
设置桌面大小,及图片放大倍数
SCALE = 4 WIDTH = 1368 HEIGHT = 768
from PIL import Image
from io import BytesIO
from urllib.request import Request, urlopen
from datetime import datetime
import json
SCALE = 4
WIDTH = 1368
HEIGHT = 768
def get_info():
url = "http://himawari8-dl.nict.go.jp/himawari8/img/D531106/latest.json"
request = Request(url)
response = urlopen(request, timeout=10)
return json.loads(response.read())
def download():
png = Image.new('RGB', (550 * SCALE, 550 * SCALE))
desktop = Image.new('RGB', (WIDTH, HEIGHT))
url_format = 'http://himawari8-dl.nict.go.jp/himawari8/img/D531106/{}d/{}/{}_{}_{}.png'
info = get_info()
date = datetime.strptime(info['date'], '%Y-%m-%d %H:%M:%S')
for x in range(SCALE):
for y in range(SCALE):
url = url_format.format(SCALE, 550,
date.strftime("%Y/%m/%d/%H%M%S"), x, y)
print(url)
request = Request(url)
response = urlopen(request, timeout=10)
img = Image.open(BytesIO(response.read()))
png.paste(img, (550 * x, 550 * y, 550 * (x + 1), 550 * (y + 1)))
png.thumbnail((HEIGHT, HEIGHT), Image.ANTIALIAS)
desktop.paste(png, ((WIDTH - HEIGHT) // 2, 0))
desktop.save('/tmp/earth.png', "PNG")
if __name__ == '__main__':
download()