Beispiel #1
0
	def resizeImg(self,index,cadre): #redimensionner la taille d'image pour afficher, si l'image est trop grande que le canvas
		self.cadre=cadre #mettre le canvas
		dicimg={}
		img=Image.open(self.listPath[int(index)]) #ovrir l'image
		wd,hg=img.size
		mwd=self.screen_width #s'il y a un pb de redimmentsionner l'image, peut être il faut mettre *0.6
		mhg=self.screen_height
		#resize image
		if wd>mwd : #si largeur de photo est plus grand que le largeur de Canvas
			scale= 1.0*wd/mwd
			newImg=img.resize((int(wd/scale),int(hg/scale)),Image.ANTIALIAS)
			self.cadre.config(width=wd/scale,height=hg/scale)
			photo = ImageTk.PhotoImage(newImg)
			dicimg['img1'] = photo
			self.cadre.image=photo
			self.cadre.create_image(0,0,image=photo,anchor="nw") 
		elif hg > mhg: #si le hauteur de phto est plus grand que le hauteur de Canvas
			scale = 1.0*hg/mhg
			newImg = img.resize((int(wd/scale),int(hg/scale)), Image.ANTIALIAS)
			self.cadre.config(width=wd/scale,height=hg/scale)
			photo = ImageTk.PhotoImage(newImg)
			dicimg['img1'] = photo
			self.cadre.image=photo
			self.cadre.create_image(0,0,image=photo,anchor="nw") 
		else:
			scale = 1.0
			self.cadre.config(width=wd,height=hg)
			photo = ImageTk.PhotoImage(img)
			dicimg['img1'] = photo
			self.cadre.image=photo
			self.cadre.create_image(0,0,image=photo,anchor="nw") 
			
		#le fichier est changé ou pas, si le fichier current est changé, on supprimera les rectangles qui étaitent affichés et créés
		if self.currentSelectedFile is None:   
			self.currentSelectedFile=self.listFiles.get(self.listFiles.curselection())
			self.fileChange=False
		else:
			if self.lastSelectedFile!=self.currentSelectedFile:
				self.fileChange=True
			else:
				self.fileChange=False   

		self.isWinModif=False
		self.drawRect=rect.CanvasEventsRect(self.cadre,self.listAction,self.listFileWithActionRect,self.currentSelectedFile,self.buttonConfirme,self.buttonDelete,self.fileChange) 
		#les events de souris
		self.cadre.bind('<ButtonPress-1>', self.drawRect.leftOnStart)  
		self.cadre.bind('<B1-Motion>',     self.drawRect.leftOnGrow)   
		self.cadre.bind('<Double-1>',      self.drawRect.leftOnClear)
		self.cadre.bind('<ButtonRelease-1>', self.drawRect.leftOnFinal)
		#self.cadre.bind('<ButtonPress-3>', self.drawRect.rightOnStart)
		#self.cadre.bind('<B3-Motion>',     self.drawRect.rightOnMove)
		#self.cadre.bind('<ButtonRelease-3>',self.drawRect.rightOnFinal)
		gs.update(self.nameProjet,self.numPage)
		
		self.scale = scale
		return scale 
Beispiel #2
0
	def onselect(self,evt): #quand on click dans listbox Files
		w=evt.widget
		if len(w.curselection())!=0 :
			if gs.projetExist(self.nameProjet):
				gs.update(self.nameProjet,str(int(self.currentIndex)+1))
			else :
				gs.writeInText(self.nameProjet,self.currentIndex+1)
			self.save()
			self.lastIndex=self.currentIndex
			self.currentIndex = int(w.curselection()[0])
			self.numPage=self.currentIndex
			self.recharge()
			self.resizeImg(self.currentIndex,self.cadre)
			self.selectAll()
Beispiel #3
0
	def lastPage(self): #button Précédent 
		self.save()
		if gs.projetExist(self.nameProjet):
			gs.update(self.nameProjet,int(self.numPage)-1)
		else :
			gs.writeInText(self.nameProjet,int(self.numPage)-1)
		if int(self.numPage)>0 :
			self.numPage=int(self.numPage)
			self.numPage -= 1
			self.listFiles.selection_clear(0, tk.END)
			self.listFiles.selection_set(int(self.numPage))
			self.recharge()
			self.resizeImg(int(self.numPage),self.cadre)
			self.selectAll()
Beispiel #4
0
	def nextPage(self): #button Enregister et Suivant  #a mettre dans enregister #voir si onSelect se fait tout seul
		if gs.projetExist(self.nameProjet):
			gs.update(self.nameProjet,str(int(self.numPage)+1))
		else :
			gs.writeInText(self.nameProjet,self.numPage+1)
		self.save()
		if int(self.numPage)<self.listFiles.size() :
			self.numPage=int(self.numPage)
			self.numPage += 1
			self.listFiles.selection_clear(0, tk.END)
			self.listFiles.selection_set(int(self.numPage))
			self.recharge()
			self.resizeImg(int(self.numPage),self.cadre)
			self.selectAll()
Beispiel #5
0
	def setImageForModif(self,path,cadre): #repeter un peu la fonction de resizeImg, nous pourrons essayer de fusionner les 2 fonctions
		self.cadre=cadre
		dicimg={}
		img=Image.open(path)
		wd,hg=img.size
		mwd=self.screen_width
		mhg=self.screen_height
		if wd > mwd :
			scale= 1.0*wd/mwd
			newImg=img.resize((int(wd/scale),int(hg/scale)),Image.ANTIALIAS)
			self.cadre.config(width=wd/scale,height=hg/scale)
			photo = ImageTk.PhotoImage(newImg)
			dicimg['img1'] = photo
			self.cadre.image=photo
			self.cadre.create_image(0,0,image=photo,anchor="nw") 
		elif hg > mhg:
			scale = 1.0*hg/mhg
			newImg = img.resize((int(wd/scale),int(hg/scale)), Image.ANTIALIAS)
			self.cadre.config(width=wd/scale,height=hg/scale)
			photo = ImageTk.PhotoImage(newImg)
			dicimg['img1'] = photo
			self.cadre.image=photo
			self.cadre.create_image(0,0,image=photo,anchor="nw") 
		else:
			scale = 1.0
			self.cadre.config(width=wd,height=hg)
			photo = ImageTk.PhotoImage(img)
			dicimg['img1'] = photo
			self.cadre.image=photo
			self.cadre.create_image(0,0,image=photo,anchor="nw") 
		self.isWinModif=True
		(path1,path2,nameFile)=path.split('/')
		self.drawRectModif=rect.CanvasEventsRect(self.cadre,self.listAction,self.listFileWithActionRect,nameFile,self.buttonConfirme,self.buttonDelete)
		self.cadre.bind('<ButtonPress-1>', self.drawRectModif.leftOnStart)  
		self.cadre.bind('<B1-Motion>',     self.drawRectModif.leftOnGrow)   
		self.cadre.bind('<Double-1>',      self.drawRectModif.leftOnClear)
		self.cadre.bind('<ButtonRelease-1>', self.drawRectModif.leftOnFinal)
		#self.cadre.bind('<ButtonPress-3>', self.drawRectModif.rightOnStart)
		#self.cadre.bind('<B3-Motion>',     self.drawRectModif.rightOnMove)
		#self.cadre.bind('<ButtonRelease-3>',self.drawRectModif.rightOnFinal)
		gs.update(self.nameProjet,self.numPage)
		#retourne scale pour 
		return scale