0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

PNGテキスト情報取得ツール:TkinterとPILを使って簡単にPNGメタデータを表示する(Python)(ChatGPTによる生成記事)

Posted at

はじめに

PNG(Portable Network Graphics)ファイルは、画像データだけでなくテキスト情報やメタデータも持っています。
この記事では、TkinterとPIL(Pillow)ライブラリを使用して、ドラッグアンドドロップでPNGファイルからテキスト情報を取得し、表示するシンプルなPythonスクリプトを紹介します。

必要なライブラリ

このツールを動かすためには以下のPythonライブラリが必要です。

  • Tkinter (標準ライブラリなのでインストール不要)
  • tkinterdnd2
  • PIL (Pillow)
  • pyperclip

インストールは以下のように行います。

pip install tkinterdnd2 Pillow pyperclip

コード
以下が主なコードです。

png_metadata.py
Copy code
import tkinter as tk
from tkinterdnd2 import DND_FILES, TkinterDnD
from PIL import Image
import pyperclip
import os

def get_png_text_data(file_path):
    safe_file_path = os.path.normpath(file_path)
    image = Image.open(safe_file_path)
    return image.info

def on_drop(event):
    file_path = event.data.strip().strip('"').strip('{}')
    
    text_info = get_png_text_data(file_path)
    text_str = "\n".join([f"{k}: {v}" for k, v in text_info.items()])
    
    pyperclip.copy(text_str)
    
    text_widget.delete(1.0, tk.END)
    text_widget.insert(tk.END, text_str)
    
    label.config(text="PNGのテキスト情報:")

root = TkinterDnD.Tk()
root.title("PNGテキスト情報取得ツール")
root.geometry("600x400")

label = tk.Label(root, text="PNGファイルをここにドラッグ&ドロップしてください。")
label.pack(pady=10)

text_widget = tk.Text(root, wrap=tk.WORD)
text_widget.pack(padx=10, pady=10, expand=True, fill=tk.BOTH)

root.drop_target_register(DND_FILES)
root.dnd_bind('<<Drop>>', on_drop)

root.mainloop()

使い方

スクリプトを実行します。

python png_metadata.py

GUIウィンドウが表示されます。
PNGファイルをウィンドウにドラッグ&ドロップします。
テキストボックスにPNGファイル内のテキスト情報が表示されます。
このテキスト情報は自動的にクリップボードにもコピーされます。

まとめ

このスクリプトは、TkinterとPILを使って非常に簡単にPNGファイルのテキスト情報を取得できるツールです。
ドラッグ&ドロップで手軽に情報を得られるため、画像のメタデータを簡単に調べたい場合に非常に便利です。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?