[Python]324 kindle本のpngファイル化

[M1 Mac, Big Sur 11.6.5]

kindle本の画集を壁紙にするためPythonでpngファイル化しました。結合したらpdfファイルにできそうです。

import pyautogui
import time

# ページ数
page = 100
# スクショ撮影間隔(秒)
span = 1
# 出力ファイル
filedir = "/Users/[ユーザ名]/Desktop/Manet"
file_prefix = "Manet"

# 10秒待機(この間にkindleをフルスクリーン表示させる)
time.sleep(10)

# スクショ撮影
for p in range(page):
    # 出力ファイル名(プレフィックス_3桁ゼロ埋め連番.png)
    filename = file_prefix + "_" + str(p + 1).zfill(3) + '.png'
    # 画面全体スクリーンショット
    s = pyautogui.screenshot()
    # png保存
    s.save(filedir + "/" + filename)
    # ページ送り(通常は左右)
    pyautogui.press('down')
    # 1秒待機
    time.sleep(span)

[Python]323 icnsファイルの作成

[M1 Mac, Big Sur 11.6.5]

MacOSアプリ用アイコンを作成する機会が増えたのでicnsファイル作成コードを書きました。あらかじめ2つのpngファイルを用意すればあとは自動的にicnsファイルを作成してくれます。

最初のpngファイル2つはプレビューアプリのサイズ調整機能で簡単に作れます。大元のファイルは2048*2048, dpi=72です。

from PIL import Image
import subprocess

filepath = 'test.png' # 1024*1024 dpi=144
filepath2 = 'test2.png' # 512*512 dpi=72
filedir = '/test/test.iconset/'
pixels = [32, 64, 256, 512, 1024]
pixels2 = [16, 32, 64, 256, 512]
filenames = ['icon_16x16@2x.png','icon_32x32@2x.png','icon_128x128@2x.png','icon_256x256@2x.png','icon_512x512@2x.png']
filenames2 = ['icon_16x16.png','icon_32x32.png','icon_128x128.png','icon_256x256.png','icon_512x512.png']

# dpi=144の各種pngファイル作成
for pixel,file in zip(pixels,filenames):
    img = Image.open(filepath)
    img_resize = img.resize((pixel,pixel))
    img_resize.save(filedir + file)
    img.close()

# dpi=72の各種pngファイル作成    
for pixel,file in zip(pixels2,filenames2):
    img = Image.open(filepath2)
    img_resize = img.resize((pixel,pixel))
    img_resize.save(filedir + file)
    img.close()

# icnsファイル作成
cmd = 'iconutil -c icns test.iconset'
subprocess.run(cmd, cwd=r"/test",shell=True)