質問編集履歴

2

追加

2020/04/16 04:29

投稿

person
person

スコア223

test CHANGED
File without changes
test CHANGED
@@ -259,3 +259,91 @@
259
259
  win.mainloop()
260
260
 
261
261
  ```
262
+
263
+
264
+
265
+ **追記(subsample()による縮小、scaleが0以下だと拡大が意図した動作とは違う動作になる)**
266
+
267
+
268
+
269
+ ```
270
+
271
+ def zoom_up(self, e, app):
272
+
273
+ if self.img_disp_flag == True:
274
+
275
+ self.canvas.delete(self.disp_image)
276
+
277
+ self.scale -= 1
278
+
279
+ self.img_zoom_up = self.img.subsample(self.scale, self.scale)
280
+
281
+ #self.img_zoom_up = self.img.zoom(x=self.scale, y=self.scale)
282
+
283
+ self.disp_image = self.canvas.create_image(0, 0, image=self.img_zoom_up, anchor=tk.NW)
284
+
285
+ self.img_x_zoom_up = self.img_zoom_up.width()
286
+
287
+ self.img_y_zoom_up = self.img_zoom_up.height()
288
+
289
+ print("size:", self.img_x_zoom_up, self.img_y_zoom_up)
290
+
291
+ print("scale:", self.scale)
292
+
293
+ else:
294
+
295
+ print("Not displaying an image yet!")
296
+
297
+
298
+
299
+
300
+
301
+ def zoom_down(self, e, app):
302
+
303
+ if self.img_disp_flag == True:
304
+
305
+ self.canvas.delete(self.disp_image)
306
+
307
+ self.scale += 1
308
+
309
+ self.img_zoom_down = self.img.subsample(self.scale, self.scale)
310
+
311
+ self.disp_image = self.canvas.create_image(0, 0, image=self.img_zoom_down, anchor=tk.NW)
312
+
313
+ self.img_x_zoom_down = self.img_zoom_down.width()
314
+
315
+ self.img_y_zoom_down = self.img_zoom_down.height()
316
+
317
+ print("size:", self.img_x_zoom_down, self.img_y_zoom_down)
318
+
319
+ print("scale:", self.scale)
320
+
321
+ else:
322
+
323
+ print("Not displaying an image yet!")
324
+
325
+
326
+
327
+
328
+
329
+ def zoom_default(self, e, app):
330
+
331
+ if self.img_disp_flag == True:
332
+
333
+ self.canvas.delete(self.disp_image)
334
+
335
+ self.scale = 1
336
+
337
+ self.img_zoom_default = self.img.subsample(self.scale, self.scale)
338
+
339
+ self.disp_image = self.canvas.create_image(0, 0, image=self.img_zoom_default, anchor=tk.NW)
340
+
341
+ print("size:", self.img_x, self.img_y)
342
+
343
+ print("scale:", self.scale)
344
+
345
+ else:
346
+
347
+ print("Not displaying an image yet!")
348
+
349
+ ```

1

追加

2020/04/16 04:29

投稿

person
person

スコア223

test CHANGED
File without changes
test CHANGED
@@ -122,7 +122,7 @@
122
122
 
123
123
 
124
124
 
125
-
125
+ # バインド
126
126
 
127
127
  def bind_event(self):
128
128
 
@@ -140,7 +140,7 @@
140
140
 
141
141
 
142
142
 
143
-
143
+ # 画像上でマウスホイールを動かしたとき
144
144
 
145
145
  def wheel_rotated(self, e, app):
146
146
 
@@ -152,7 +152,7 @@
152
152
 
153
153
 
154
154
 
155
-
155
+ # 画像の拡大
156
156
 
157
157
  def zoom_up(self, e, app):
158
158
 
@@ -164,7 +164,7 @@
164
164
 
165
165
 
166
166
 
167
-
167
+ # 画像の縮小
168
168
 
169
169
  def zoom_down(self, e, app):
170
170
 
@@ -176,7 +176,7 @@
176
176
 
177
177
 
178
178
 
179
-
179
+ # 倍率をデフォルトに戻す
180
180
 
181
181
  def zoom_default(self, e, app):
182
182
 
@@ -206,7 +206,7 @@
206
206
 
207
207
 
208
208
 
209
-
209
+ # 画像の表示
210
210
 
211
211
  def img_disp(self, e, app):
212
212
 
@@ -228,7 +228,7 @@
228
228
 
229
229
 
230
230
 
231
-
231
+ # 画像の非表示
232
232
 
233
233
  def img_hide(self, e, app):
234
234