回答編集履歴
2
参考ソースとその説明を追加
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
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
|
|