LoginSignup
5
3

More than 5 years have passed since last update.

【Pythonista】photos モジュール

Last updated at Posted at 2019-01-21

Pythonistaで利用できる photos モジュール 触ってみた。

■参考サイト

photos — Photo Library Access on iOS

■検証時に使用したコード

import photos as ph

#Get the last photo, and show it in the concole
def show_last_asset():
    all_assets = ph.get_assets()
    last_asset = all_assets[-1]
    img = last_asset.get_image()
    #img = last_asset.get_ui_image()
    img.show()

#Get the oldest screenshot image, and delete it from the library
def show_oldest_screenshot_delete():
    album = ph.get_screenshots_album()
    screenshots = album.assets

    if not screenshots:
        print("You have no screenshots in your library.")
    else:
        oldest = screenshots[0]
        if oldest.can_delete:
            #This will automatically show a confirmation dialog:
            #削除して良いかのダイアログが自動的に表示される
            oldest.delete()
        else:
            print("Oldest screenshot is not deletable")

#Get the last photo, and convert it to grayscale, saving the edit in-place
def convert_grayscale():
    album = ph.get_recently_added_album()
    last = album.assets[-1]

    if last.can_edit_content:
        img = last.get_image()
        grayscale_img = img.convert("L")    #グレーへの色変更
        grayscale_img.save(".edit.jpg", quality=90)
        last.edit_content(".edit.jpg")
    else:
        print("The asset is not editable")

#Show an image picker dialog (allowing multiple selection) and print the result
def image_picker():
    assets = ph.pick_asset(assets=ph.get_assets(), title="Pick some assets", multi=True)
    print(assets)

■感想

iOSのフォトライブラリにアクセスして、いろいろ操作することができるのはとても便利。
アセットのサイズによって多少動作が遅かったりしたのがちょっと残念。
もし、アプリ開発とかするのであれば、負荷とかをいろいろと考慮しないといけないと思う。

5
3
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
5
3