LoginSignup
1
2

More than 3 years have passed since last update.

【iOS】Pythonista3でGIFアニメを分解する。

Last updated at Posted at 2020-08-13

はじめに

以前、GIFアニメでハマった記事を書きましたが、その時に調べたなかでGIFアニメの分解に興味があったので作ってみました。

GIFアニメを分解する

これはPILの中のImageSequenceでできました。
ついでに、iOSの共有シートから呼び出す仕様にしました。

gif2png
import appex
import console
import photos
import tempfile
from PIL import Image
from PIL import ImageSequence

def main():
    if not appex.is_running_extension():
        console.hud_alert('共有シートから実行して下さい。',icon='error',duration=2)
        return

    FilePath = appex.get_image().filename
    if not FilePath:
        console.hud_alert('GIFイメージが見つかりません。',icon='error',duration=2)
        return

    gif = Image.open(FilePath)
    for i,img in enumerate(ImageSequence.Iterator(gif)):
        SaveName = tempfile.gettempdir()+'/tmp.png'
        img.save(SaveName)
        photos.create_image_asset(SaveName)

    console.hud_alert(str(i+1)+'枚の画像を写真に保存しました。', icon='success', duration=2)
    appex.finish()

if __name__ == '__main__':
    main()

Pythonista3Share Extension Shortcutsに登録して使います。
【iOS】Pythonista3で共有シートを使う。 - Qiita

使い方

Pythonista3がンストールされてると、写真アプリ等から共有メニューアイコンをタップするとRun Pythonista Scriptというメニューが表示されます。
ここをタップして、あらかじめ登録しておいたスクリプトのアイコンをタップするだけです。
7C39C630-454F-48B3-924A-FF17ADFEFAAD.gif

iPadで操作してる動画

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2