teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

3

追記

2018/07/03 19:47

投稿

umyu
umyu

スコア5846

answer CHANGED
@@ -1,4 +1,4 @@
1
- 画像の回転を行いたい時はライブラリ名 rotate というキーワードで検索してみてくださいな。
1
+ 画像の回転を行いたい時はPillow rotate というキーワードで検索してみてくださいな。
2
2
 
3
3
  [Python, Pillowで画像を回転するrotate](https://note.nkmk.me/python-pillow-rotate/)
4
4
 

2

追記

2018/07/03 19:47

投稿

umyu
umyu

スコア5846

answer CHANGED
@@ -1,4 +1,4 @@
1
- 画像回転させたい時は rotate というキーワードで検索するとヒットます
1
+ 画像回転を行いたい時はライブラリ名 rotate というキーワードで検索してみてくださいな
2
2
 
3
3
  [Python, Pillowで画像を回転するrotate](https://note.nkmk.me/python-pillow-rotate/)
4
4
 
@@ -47,4 +47,7 @@
47
47
  if __name__ == "__main__":
48
48
  app = App()
49
49
  app.run()
50
- ```
50
+ ```
51
+
52
+ ◇参考情報
53
+ [PIL/Pillow チートシート](https://qiita.com/pashango2/items/145d858eff3c505c100a)

1

サンプルコードを追加

2018/07/03 19:46

投稿

umyu
umyu

スコア5846

answer CHANGED
@@ -1,3 +1,50 @@
1
1
  画像を回転させたい時は rotate というキーワードで検索するとヒットします。
2
2
 
3
- [Python, Pillowで画像を回転するrotate](https://note.nkmk.me/python-pillow-rotate/)
3
+ [Python, Pillowで画像を回転するrotate](https://note.nkmk.me/python-pillow-rotate/)
4
+
5
+ ```Python
6
+ import tkinter as tk
7
+ from PIL import Image, ImageTk
8
+
9
+
10
+ class App(tk.Tk):
11
+ def __init__(self):
12
+ super(App, self).__init__()
13
+ self.title("テストウィンドウ")
14
+ self.geometry("640x480+1000+10")
15
+
16
+ self.create_widgets()
17
+ self.Bind()
18
+
19
+ def create_widgets(self):
20
+ #キャンバスの設定
21
+ self.canvas = tk.Canvas(self, width = 300, height = 300)
22
+
23
+ #画像の貼り付け
24
+ self.img = Image.open('IMG/sample.png', 'r')
25
+ self.rotate(0)
26
+ self.canvas.place(x = 245, y = 100)
27
+
28
+ self.testBtn = tk.Button(self, text="右に回転")
29
+ self.testBtn.pack(anchor = tk.NW, side="top")
30
+
31
+ def rotate(self, degrees:int):
32
+ self.img = self.img.rotate(degrees, expand=True)
33
+ self.photo = ImageTk.PhotoImage(self.img)
34
+ self.canvas.create_image(0, 0, image=self.photo)
35
+
36
+ def callback(self, evt):
37
+ # ここで回転の処理を行いたい
38
+ self.rotate(-90)
39
+
40
+ def Bind(self):
41
+ #テスト作成中
42
+ self.testBtn.bind("<1>", self.callback)
43
+
44
+ def run(self):
45
+ self.mainloop()
46
+
47
+ if __name__ == "__main__":
48
+ app = App()
49
+ app.run()
50
+ ```