回答編集履歴

2

参考ソースとその説明を追加

2020/03/19 13:49

投稿

teamikl
teamikl

スコア8664

test CHANGED
@@ -116,6 +116,64 @@
116
116
 
117
117
 
118
118
 
119
+ ----
120
+
121
+ [2020/03/19 22:47] 追記: 参考ソース
119
122
 
120
123
 
124
+
125
+ 「tkinter crop」 や 「トリミング」で検索して
126
+
121
- たら、具体的にコードを書いて質問てみてください
127
+ 感じ参考になりそうなコード見つかったので紹介ます
128
+
129
+ https://github.com/Lexing/pyImageCropper/blob/master/crop.py
130
+
131
+
132
+
133
+ - ImageTkを用いてCanvasへ画像を描画
134
+
135
+ - Image.cropを用いた切り取り
136
+
137
+ - マウスでのドラッグ&ドロップの一連のイベント処理
138
+
139
+ - 選択領域のリサイズ
140
+
141
+
142
+
143
+ あたりの参考になると思います。
144
+
145
+ UIの操作は違いますが、目的のものに近いのではないでしょうか。
146
+
147
+ マウスで範囲選択した後に、キーボードの十字キーで微調整できるようです。
148
+
149
+
150
+
151
+ 操作は、コマンド引数でJPEG画像が置かれたディレクトリのパスを渡し起動、
152
+
153
+ スペースで切り取り保存し次のファイルへ、`q` で終了。
154
+
155
+
156
+
157
+ 8年程前のコードなので、Python2系の環境が必要になりますが
158
+
159
+ 1箇所だけ修正して動きました。win10 ActivePython2.7 + PIL で動作確認。
160
+
161
+ `import ImageTk` -> `from PIL import ImageTk`
162
+
163
+
164
+
165
+ 画像の種類によっては get_exif_image() でエラーが出るかもしれないので、
166
+
167
+ その場合は追加でもう一箇所修正
168
+
169
+
170
+
171
+ ```python
172
+
173
+ # get_image_exif()メソッド内に(適切なインデントで)追加
174
+
175
+ if not hasattr(image, "_getexif"):
176
+
177
+ return
178
+
179
+ ```

1

typo修正 ButtonRelease -> ButtonRelease-1

2020/03/19 13:49

投稿

teamikl
teamikl

スコア8664

test CHANGED
@@ -88,7 +88,7 @@
88
88
 
89
89
  - `<ButtonPress-1>`イベント内で
90
90
 
91
- - `<BUttonRelease>` と `<Motion>` を登録
91
+ - `<BUttonRelease-1>` と `<Motion>` を登録
92
92
 
93
93
  - `<ButtonRelease-1>` でイベントハンドラを解除
94
94