日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python写一个地球同步卫星图动态壁纸(第二部分)

發布時間:2024/1/1 python 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python写一个地球同步卫星图动态壁纸(第二部分) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

————————————————————————————————
前序:
系統:Windows 10
IDE:PyCharm
Python:3.7.4
python寫一個地球同步衛星圖動態壁紙(第一部分)
第一部分主要是下載地球同步衛星圖片到本地
第一部分: https://blog.csdn.net/L141210113/article/details/102624596
第三部分: https://blog.csdn.net/L141210113/article/details/102703475
————————————————————————————————
成品樣例(是24小時連續變化的,我只截取中午和晚上的進行展示):

一、修改圖片

1. 去除風云四號衛星圖水印

說明: 上次我們獲取了如下圖片,但是我們發現圖片并不完美,它的左上角與右下角有水印,我們可以通過重繪去除水印

注: 重繪的區域要多進行測試

# path圖片路徑, earth_w地球的寬度, earth_h地球的高度,一般情況earth_w=earth_h '''去除左上角水印''' def redraw_upper_left(path, earth_w, earth_h):# size = 1920, 1080image1 = Image.new("RGB", (int(230 * earth_w / 1080), int(80 * earth_h / 1080)))image2 = Image.open(path)image2 = image2.resize((earth_w, earth_h), )image2.paste(image1, (0, 0))newpath = os.path.dirname(path) + '/upper_left' + os.path.splitext(path)[1]image2.save(newpath, "JPEG")return newpath'''去除右下角水印''' def redraw_bottom_right(path, earth_w, earth_h):# size = 1920, 1080image1 = Image.new("RGB", (int(80 * earth_w / 1080), int(80 * earth_h / 1080)))image2 = Image.open(path)image2 = image2.resize((earth_w, earth_h), )# image.thumbnail(size)bw, bh = image1.sizelw, lh = image2.sizeimage2.paste(image1, (lw - bw, lh - bh))newpath = os.path.dirname(path) + '/bottom_right' + os.path.splitext(path)[1]image2.save(newpath, "JPEG")return newpath

整理之后

2. 拓展圖片尺寸

說明: 由于圖片是正方形,不適合作為壁紙,我們將其修改為屏幕尺寸

# path,圖片路徑 screen_w分辨率寬, screen_h高, earth地球尺寸,這個尺寸是整體相對于屏幕的縮放 def redraw_left_right(path, screen_w, screen_h, earth):# sizeimage1 = Image.new("RGB", (screen_w, screen_h))image2 = Image.open(path)image2 = image2.resize((earth, earth), )# image.thumbnail(size)bw, bh = image1.sizelw, lh = image2.sizeimage1.paste(image2, (int((bw - lw) / 2), int((bh - lh) / 2)))newpath = os.path.dirname(path) + '/final' + os.path.splitext(path)[1]image1.save(newpath, "PNG")return newpath

拓展之后

二、整理之后的完整代碼

from PIL import Image import os'''去除左上角水印''' def redraw_upper_left(path, earth_w, earth_h):# size = 1920, 1080image1 = Image.new("RGB", (int(230 * earth_w / 1080), int(80 * earth_h / 1080)))image2 = Image.open(path)image2 = image2.resize((earth_w, earth_h), )image2.paste(image1, (0, 0))newpath = os.path.dirname(path) + '/upper_left' + os.path.splitext(path)[1]image2.save(newpath, "JPEG")return newpath'''去除右下角水印''' def redraw_bottom_right(path, earth_w, earth_h):# size = 1920, 1080image1 = Image.new("RGB", (int(80 * earth_w / 1080), int(80 * earth_h / 1080)))image2 = Image.open(path)image2 = image2.resize((earth_w, earth_h), )# image.thumbnail(size)bw, bh = image1.sizelw, lh = image2.sizeimage2.paste(image1, (lw - bw, lh - bh))newpath = os.path.dirname(path) + '/bottom_right' + os.path.splitext(path)[1]image2.save(newpath, "JPEG")return newpathdef redraw_left_right(path, screen_w, screen_h, earth):# sizeimage1 = Image.new("RGB", (screen_w, screen_h))image2 = Image.open(path)image2 = image2.resize((earth, earth), )# image.thumbnail(size)bw, bh = image1.sizelw, lh = image2.sizeimage1.paste(image2, (int((bw - lw) / 2), int((bh - lh) / 2)))newpath = os.path.dirname(path) + '/final' + os.path.splitext(path)[1]image1.save(newpath, "PNG")return newpathdef changePic(flag = '1'):path = './pic/cache_wallpaper.jpg'size = {'1' : 1, '2' : 0.75, '3' : 0.5}w = int(input("設置壁紙分辨率寬為:"))h = int(input("設置壁紙分辨率高為:"))flag = input("設置地球大小為(1:大,2:中,3:小):")min = h if h < w else wmax = w + h - minearth = int(min * size[flag])new_path = redraw_upper_left(path, earth, earth)new_path = redraw_bottom_right(new_path, earth, earth)new_path = redraw_left_right(new_path, max, min, earth)return new_pathif __name__ == '__main__':changePic()

注:

  • 你可以使用圓形切割
  • 你可以加一張星空的背景(晚上截的圖)

    好了,第二個模塊,修改圖像就寫好了,接下來還有設置壁紙模塊。
  • 總結

    以上是生活随笔為你收集整理的python写一个地球同步卫星图动态壁纸(第二部分)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。