回答編集履歴

3

追記

2018/07/03 19:47

投稿

umyu
umyu

スコア5846

test CHANGED
@@ -1,4 +1,4 @@
1
- 画像の回転を行いたい時はライブラリ名 rotate というキーワードで検索してみてくださいな。
1
+ 画像の回転を行いたい時はPillow rotate というキーワードで検索してみてくださいな。
2
2
 
3
3
 
4
4
 

2

追記

2018/07/03 19:47

投稿

umyu
umyu

スコア5846

test CHANGED
@@ -1,4 +1,4 @@
1
- 画像回転させたい時は rotate というキーワードで検索するとヒットます
1
+ 画像回転を行いたい時はライブラリ名 rotate というキーワードで検索してみてくださいな
2
2
 
3
3
 
4
4
 
@@ -97,3 +97,9 @@
97
97
  app.run()
98
98
 
99
99
  ```
100
+
101
+
102
+
103
+ ◇参考情報
104
+
105
+ [PIL/Pillow チートシート](https://qiita.com/pashango2/items/145d858eff3c505c100a)

1

サンプルコードを追加

2018/07/03 19:46

投稿

umyu
umyu

スコア5846

test CHANGED
@@ -3,3 +3,97 @@
3
3
 
4
4
 
5
5
  [Python, Pillowで画像を回転するrotate](https://note.nkmk.me/python-pillow-rotate/)
6
+
7
+
8
+
9
+ ```Python
10
+
11
+ import tkinter as tk
12
+
13
+ from PIL import Image, ImageTk
14
+
15
+
16
+
17
+
18
+
19
+ class App(tk.Tk):
20
+
21
+ def __init__(self):
22
+
23
+ super(App, self).__init__()
24
+
25
+ self.title("テストウィンドウ")
26
+
27
+ self.geometry("640x480+1000+10")
28
+
29
+
30
+
31
+ self.create_widgets()
32
+
33
+ self.Bind()
34
+
35
+
36
+
37
+ def create_widgets(self):
38
+
39
+ #キャンバスの設定
40
+
41
+ self.canvas = tk.Canvas(self, width = 300, height = 300)
42
+
43
+
44
+
45
+ #画像の貼り付け
46
+
47
+ self.img = Image.open('IMG/sample.png', 'r')
48
+
49
+ self.rotate(0)
50
+
51
+ self.canvas.place(x = 245, y = 100)
52
+
53
+
54
+
55
+ self.testBtn = tk.Button(self, text="右に回転")
56
+
57
+ self.testBtn.pack(anchor = tk.NW, side="top")
58
+
59
+
60
+
61
+ def rotate(self, degrees:int):
62
+
63
+ self.img = self.img.rotate(degrees, expand=True)
64
+
65
+ self.photo = ImageTk.PhotoImage(self.img)
66
+
67
+ self.canvas.create_image(0, 0, image=self.photo)
68
+
69
+
70
+
71
+ def callback(self, evt):
72
+
73
+ # ここで回転の処理を行いたい
74
+
75
+ self.rotate(-90)
76
+
77
+
78
+
79
+ def Bind(self):
80
+
81
+ #テスト作成中
82
+
83
+ self.testBtn.bind("<1>", self.callback)
84
+
85
+
86
+
87
+ def run(self):
88
+
89
+ self.mainloop()
90
+
91
+
92
+
93
+ if __name__ == "__main__":
94
+
95
+ app = App()
96
+
97
+ app.run()
98
+
99
+ ```