-
Notifications
You must be signed in to change notification settings - Fork 2
/
pyqt5 ile resim işleme.py
123 lines (66 loc) · 3.2 KB
/
pyqt5 ile resim işleme.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
from PyQt5 import QtWidgets
from PIL import Image,ImageFilter
import sys
import os
#################################pencere class ı
class pencere(QtWidgets.QWidget):
def __init__(self):
super().__init__()#QtWidgets.QWidget init fonk cağrıldı
self.init_ui()#def init_ui(self): çağrıldı
def init_ui(self):
###################### obje olusturma
self.dosya_sec=QtWidgets.QPushButton("Dosya Seç")
self.x1=QtWidgets.QLineEdit()
self.boyut=QtWidgets.QPushButton("b1xb2 |boyutu ayarla")
self.blursev=QtWidgets.QLineEdit()
self.blurbut=QtWidgets.QPushButton("1-5| blurla")
self.siyahla=QtWidgets.QPushButton("siyah beyaz yap")
self.image=""
self.dosya_ismi=[]
################################ objelerin eklenmesi
vbox=QtWidgets.QVBoxLayout()
vbox.addWidget(self.dosya_sec)
vbox.addStretch()
hbox2=QtWidgets.QHBoxLayout()
hbox2.addWidget(self.x1)
hbox2.addWidget(self.boyut)
vbox.addLayout(hbox2)
vbox.addStretch()
hbox3=QtWidgets.QHBoxLayout()
hbox3.addWidget(self.blursev)
hbox3.addWidget(self.blurbut)
vbox.addLayout(hbox3)
vbox.addStretch()
vbox.addWidget(self.siyahla)
self.dosya_sec.clicked.connect(self.secfok)
self.boyut.clicked.connect(self.secfok)
self.blurbut.clicked.connect(self.secfok)
self.siyahla.clicked.connect(self.secfok)
self.setLayout(vbox)
########################### pencere işlemleri
self.setWindowTitle("Resim İşleme") # pencere adı
self.setGeometry(200,200,300,300) # boyut ve konumu
self.show()
def secfok(self):# butonlara basılınca yapılacak işlemler
a=self.sender().text()
if(a=="Dosya Seç"):
self.dosya_ismi=QtWidgets.QFileDialog.getOpenFileName(self,"dosya aç",os.getenv("desktop"))
self.image=Image.open(self.dosya_ismi[0])
print(self.dosya_ismi[0])
elif a=="siyah beyaz yap": #working
self.image.convert(mode="L").save(self.dosya_ismi[0])
print("siyah beyaz yap")
elif a=="1-5| blurla":# working
self.image.filter(ImageFilter.GaussianBlur(int(self.blursev.text()))).save(self.dosya_ismi[0])
print("1-5| blurla")
elif a=="b1xb2 |boyutu ayarla":#working
print("b1xb2 |boyutu ayarla")
x2=str(self.x1.text())
x2=x2.split("x")
a=int( x2[0])
b=int(x2[1])
self.image.thumbnail((a,b))# boyut değiştirme
self.image.save(self.dosya_ismi[0])
app=QtWidgets.QApplication(sys.argv)
pencere=pencere()
sys.exit(app.exec_())