Compare commits
	
		
			5 Commits
		
	
	
		
			721f2939e2
			...
			c994e2b501
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| c994e2b501 | |||
| 04433130e1 | |||
| 30844e3bae | |||
| fb79384114 | |||
| 96473af16b | 
							
								
								
									
										4
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| 
						 | 
					@ -4,4 +4,6 @@ __pycache__
 | 
				
			||||||
desktop.ini
 | 
					desktop.ini
 | 
				
			||||||
dist/
 | 
					dist/
 | 
				
			||||||
build/
 | 
					build/
 | 
				
			||||||
test_*
 | 
					test_*
 | 
				
			||||||
 | 
					apiconfig.py
 | 
				
			||||||
 | 
					LessonPlan/
 | 
				
			||||||
							
								
								
									
										129
									
								
								PyGame/Picviewer/pcview.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										129
									
								
								PyGame/Picviewer/pcview.py
									
									
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,129 @@
 | 
				
			||||||
 | 
					# if i was to give this to my mom and she didnt have the libraries would it work?
 | 
				
			||||||
 | 
					# https://www.youtube.com/watch?v=Y1rUga8Y5XY
 | 
				
			||||||
 | 
					import ttkbootstrap as ttk
 | 
				
			||||||
 | 
					from ttkbootstrap.constants import * # this imoports all ok to use?
 | 
				
			||||||
 | 
					from tkinter import filedialog
 | 
				
			||||||
 | 
					from tkinter import messagebox
 | 
				
			||||||
 | 
					from PIL import ImageTk, Image
 | 
				
			||||||
 | 
					import os, os.path
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					WIN_WIDTH = 1200
 | 
				
			||||||
 | 
					WIN_HEIGHT = 1000
 | 
				
			||||||
 | 
					win = ttk.Window()
 | 
				
			||||||
 | 
					win.title("Image Viewer")
 | 
				
			||||||
 | 
					ttk.Style("superhero")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# size of the window
 | 
				
			||||||
 | 
					win.geometry(f"{WIN_WIDTH}x{WIN_HEIGHT}")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					main_frame = ttk.Frame(win)
 | 
				
			||||||
 | 
					main_frame.pack()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Variable NEED TO GO OVER THIS 
 | 
				
			||||||
 | 
					file_location = ""
 | 
				
			||||||
 | 
					img_no = 0
 | 
				
			||||||
 | 
					imgs = []
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# functions the guy put it around line 47 in the vid order?
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Picking the image folder
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def explor_file():
 | 
				
			||||||
 | 
					    global file_location
 | 
				
			||||||
 | 
					    no_label.configure(text="")
 | 
				
			||||||
 | 
					    file_location = filedialog.askdirectory(initialdir= '/', title="Select Folder")
 | 
				
			||||||
 | 
					    explorer_entery.delete(0, END)
 | 
				
			||||||
 | 
					    explorer_entery.insert(0, file_location)
 | 
				
			||||||
 | 
					    set_img_list()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# extracting all the images in the folder
 | 
				
			||||||
 | 
					# RESIZING the images and saving them to a list 
 | 
				
			||||||
 | 
					def set_img_list():
 | 
				
			||||||
 | 
					    global imgs
 | 
				
			||||||
 | 
					    global file_location
 | 
				
			||||||
 | 
					    global img_no
 | 
				
			||||||
 | 
					    global image_label
 | 
				
			||||||
 | 
					    valid_images = [ ".jpg", ".gif", ".png,", ".tga"]
 | 
				
			||||||
 | 
					    imgs = []
 | 
				
			||||||
 | 
					    img_no =0
 | 
				
			||||||
 | 
					    for file in os.listdir(file_location):
 | 
				
			||||||
 | 
					        ext = os.path.splitext(file)[1]
 | 
				
			||||||
 | 
					        if ext.lower() not in valid_images:
 | 
				
			||||||
 | 
					            continue
 | 
				
			||||||
 | 
					        img = Image.open(os.path.join(file_location, file))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # RESIZE the images
 | 
				
			||||||
 | 
					        w, h = img.size # Getting the current size (width and height) of the image
 | 
				
			||||||
 | 
					        n_height = 800 #setting the new height that is a constant
 | 
				
			||||||
 | 
					        n_width = int((n_height/h) * w) # calculating the new width
 | 
				
			||||||
 | 
					        img = img.resize((n_width, n_height))
 | 
				
			||||||
 | 
					        imgs.append(ImageTk.PhotoImage(img))
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    if len(imgs) >= 1:
 | 
				
			||||||
 | 
					        image_label.configure(image=imgs[img_no])
 | 
				
			||||||
 | 
					        no_label.configure(text=f"{img_no+1}/{len(imgs)}")
 | 
				
			||||||
 | 
					    else:
 | 
				
			||||||
 | 
					        messagebox.showerror("No image", "No image in this directory, choose another to view images") 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Moving to the next image
 | 
				
			||||||
 | 
					def next_img():
 | 
				
			||||||
 | 
					    global img_no
 | 
				
			||||||
 | 
					    global imgs
 | 
				
			||||||
 | 
					    no_of_img = len(imgs)
 | 
				
			||||||
 | 
					    if img_no < no_of_img-1:
 | 
				
			||||||
 | 
					        img_no+=1
 | 
				
			||||||
 | 
					        image_label.configure(image=imgs[img_no])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    no_label.configure(text=f"{img_no+1}/{no_of_img}")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# previous image button
 | 
				
			||||||
 | 
					def prev_img():
 | 
				
			||||||
 | 
					    global img_no
 | 
				
			||||||
 | 
					    global imgs
 | 
				
			||||||
 | 
					    if img_no > 0:
 | 
				
			||||||
 | 
					        img_no-=1
 | 
				
			||||||
 | 
					        image_label.configure(image=imgs[img_no])
 | 
				
			||||||
 | 
					    no_label.configure(text=f"{img_no+1}/{len(imgs)}")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					explorer_frame = ttk.Frame(main_frame)
 | 
				
			||||||
 | 
					explorer_frame.grid(row=0, column=0, padx=10, pady=(10, 0))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					explorer_entery = ttk.Entry(explorer_frame, width=80)
 | 
				
			||||||
 | 
					explorer_entery.grid(row=0, column=0, columnspan=2, padx=(80, 0) )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					image_frame = ttk.Frame(main_frame)
 | 
				
			||||||
 | 
					image_frame.grid(row=1,column=0)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					btn_frame = ttk.Frame(main_frame)
 | 
				
			||||||
 | 
					btn_frame.grid(row=2,column=0)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					no_label = ttk.Label(image_frame, font=("Arial" , 20, "bold"))
 | 
				
			||||||
 | 
					no_label.grid(row=0, column=4, pady=(10,0), sticky=NW)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					image_label = ttk.Label(image_frame, width=100, text="")
 | 
				
			||||||
 | 
					image_label.grid(row=1, column=0, padx=(60, 0), pady=10, rowspan=10, columnspan=8)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					prev_btn = ttk.Button(btn_frame, text="Previous", command=prev_img)
 | 
				
			||||||
 | 
					prev_btn.grid(row=0, column=0, padx=10)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					next_btn = ttk.Button(btn_frame, text="  Next  ", command=next_img)
 | 
				
			||||||
 | 
					next_btn.grid(row=0, column=1, padx=10)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					explorer_btn = ttk.Button(explorer_frame, text="Choose Location", command=explor_file)
 | 
				
			||||||
 | 
					explorer_btn.grid(row=0, column=5, padx=10)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					win.mainloop()
 | 
				
			||||||
| 
						 | 
					@ -1,13 +1,19 @@
 | 
				
			||||||
 | 
					import os
 | 
				
			||||||
 | 
					os.environ['PYGAME_HIDE_SUPPORT_PROMPT'] = "hide"
 | 
				
			||||||
import pygame
 | 
					import pygame
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
pygame.init()
 | 
					pygame.init()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
SCREEN_WIDTH = 800
 | 
					SCREEN_WIDTH = 800
 | 
				
			||||||
SCREEN_HEIGTH = 600
 | 
					SCREEN_HEIGTH = 600
 | 
				
			||||||
 | 
					FPS = 60
 | 
				
			||||||
 | 
					STEP_SIZE = 4
 | 
				
			||||||
 | 
					
 | 
				
			||||||
screen = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGTH))
 | 
					screen = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGTH))
 | 
				
			||||||
player = pygame.Rect((300,250,50,50))
 | 
					player = pygame.Rect((300,250,50,50))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					clock = pygame.time.Clock()
 | 
				
			||||||
run = True
 | 
					run = True
 | 
				
			||||||
while run:
 | 
					while run:
 | 
				
			||||||
    screen.fill((0, 0, 0))
 | 
					    screen.fill((0, 0, 0))
 | 
				
			||||||
| 
						 | 
					@ -15,18 +21,20 @@ while run:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    key = pygame.key.get_pressed()
 | 
					    key = pygame.key.get_pressed()
 | 
				
			||||||
    if key[pygame.K_a] == True:
 | 
					    if key[pygame.K_a] == True:
 | 
				
			||||||
        player.move_ip(-1, 0)
 | 
					        player.move_ip((-1 * STEP_SIZE), 0)
 | 
				
			||||||
    elif key[pygame.K_d] == True:
 | 
					    elif key[pygame.K_d] == True:
 | 
				
			||||||
        player.move_ip(1, 0)
 | 
					        player.move_ip((1 * STEP_SIZE), 0)
 | 
				
			||||||
    elif key[pygame.K_w] == True:
 | 
					    elif key[pygame.K_w] == True:
 | 
				
			||||||
        player.move_ip(0, -1)
 | 
					        player.move_ip(0, (-1 * STEP_SIZE))
 | 
				
			||||||
    elif key[pygame.K_s] == True:
 | 
					    elif key[pygame.K_s] == True:
 | 
				
			||||||
        player.move_ip(0, 1)
 | 
					        player.move_ip(0, (1 * STEP_SIZE))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    for event in pygame.event.get():
 | 
					    for event in pygame.event.get():
 | 
				
			||||||
        if event.type == pygame.QUIT:
 | 
					        if event.type == pygame.QUIT:
 | 
				
			||||||
            run = False
 | 
					            run = False
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    pygame.display.update()
 | 
					    pygame.display.update()
 | 
				
			||||||
 | 
					    clock.tick(FPS)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
pygame.quit()
 | 
					pygame.quit()
 | 
				
			||||||
							
								
								
									
										93
									
								
								PyGame/practice/gameprac/smup.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										93
									
								
								PyGame/practice/gameprac/smup.py
									
									
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,93 @@
 | 
				
			||||||
 | 
					import os
 | 
				
			||||||
 | 
					os.environ['PYGAME_HIDE_SUPPORT_PROMPT'] = "hide"
 | 
				
			||||||
 | 
					import pygame
 | 
				
			||||||
 | 
					import random
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					WIDTH = 480
 | 
				
			||||||
 | 
					HEIGHT = 600
 | 
				
			||||||
 | 
					WINDOW_SIZE = (WIDTH, HEIGHT)
 | 
				
			||||||
 | 
					FPS = 60
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					WHITE = (255, 255, 255)
 | 
				
			||||||
 | 
					BLACK = (0, 0, 0)
 | 
				
			||||||
 | 
					RED = (255, 0, 0)
 | 
				
			||||||
 | 
					GREEN = (0, 255, 0)
 | 
				
			||||||
 | 
					BLUE = (0, 0, 255)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					pygame.init()
 | 
				
			||||||
 | 
					pygame.mixer.init()
 | 
				
			||||||
 | 
					screen = pygame.display.set_mode(WINDOW_SIZE)
 | 
				
			||||||
 | 
					pygame.display.set_caption("Shmup")
 | 
				
			||||||
 | 
					clock = pygame.time.Clock()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					all_sprites = pygame.sprite.Group()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class PLayer(pygame.sprite.Sprite):
 | 
				
			||||||
 | 
					    def __init__(self):
 | 
				
			||||||
 | 
					        pygame.sprite.Sprite.__init__(self)
 | 
				
			||||||
 | 
					        self.image = pygame.Surface((50, 40))
 | 
				
			||||||
 | 
					        self.image.fill(GREEN)
 | 
				
			||||||
 | 
					        self.rect = self.image.get_rect()
 | 
				
			||||||
 | 
					        self.rect.centerx =WIDTH / 2
 | 
				
			||||||
 | 
					        self.rect.bottom = HEIGHT - 10
 | 
				
			||||||
 | 
					        self.speedx = 0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def update(self):
 | 
				
			||||||
 | 
					        self.speedx = 0
 | 
				
			||||||
 | 
					        keystate = pygame.key.get_pressed()
 | 
				
			||||||
 | 
					        if keystate[pygame.K_a]:
 | 
				
			||||||
 | 
					            self.speedx = -8
 | 
				
			||||||
 | 
					        if keystate[pygame.K_d]:
 | 
				
			||||||
 | 
					            self.speedx = 8
 | 
				
			||||||
 | 
					        self.rect.x += self.speedx
 | 
				
			||||||
 | 
					        if self.rect.right > WIDTH:
 | 
				
			||||||
 | 
					            self.rect.right = WIDTH
 | 
				
			||||||
 | 
					        if self.rect.left < 0:
 | 
				
			||||||
 | 
					            self.rect.left = 0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class Mob(pygame.sprite.Sprite):
 | 
				
			||||||
 | 
					    def __init__(self):
 | 
				
			||||||
 | 
					        pygame.sprite.Sprite.__init__(self)
 | 
				
			||||||
 | 
					        self.image = pygame.Surface((30, 40))
 | 
				
			||||||
 | 
					        self.image.fill(RED)
 | 
				
			||||||
 | 
					        self.rect = self.image.get_rect()
 | 
				
			||||||
 | 
					        self.rect.x = random.randrange(0, WIDTH - self.rect.width)
 | 
				
			||||||
 | 
					        self.rect.y = random.randrange(-100, -40)
 | 
				
			||||||
 | 
					        self.speedy = random.randrange(1, 8)
 | 
				
			||||||
 | 
					        self.speedx = random.randrange(-3, 3)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    def update(self):
 | 
				
			||||||
 | 
					        self.rect.y += self.speedy
 | 
				
			||||||
 | 
					        self.rect.x += self.speedx
 | 
				
			||||||
 | 
					        if self.rect.top > HEIGHT + 10:
 | 
				
			||||||
 | 
					            self.rect.x = random.randrange(0, WIDTH - self.rect.width)
 | 
				
			||||||
 | 
					            self.rect.y = random.randrange(-100, -40)
 | 
				
			||||||
 | 
					            self.speed = random.randrange(1, 8)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					all_sprites = pygame.sprite.Group()
 | 
				
			||||||
 | 
					mobs = pygame.sprite.Group()
 | 
				
			||||||
 | 
					player = PLayer()
 | 
				
			||||||
 | 
					all_sprites.add(player)
 | 
				
			||||||
 | 
					for i in range(8):
 | 
				
			||||||
 | 
					    m = Mob()
 | 
				
			||||||
 | 
					    all_sprites.add(m)
 | 
				
			||||||
 | 
					    mobs.add(m)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					running = True
 | 
				
			||||||
 | 
					while running:
 | 
				
			||||||
 | 
					    clock.tick(FPS)
 | 
				
			||||||
 | 
					    for event in pygame.event.get():
 | 
				
			||||||
 | 
					        if event.type == pygame.QUIT:
 | 
				
			||||||
 | 
					            running = False
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    all_sprites.update()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    screen.fill(BLACK)
 | 
				
			||||||
 | 
					    all_sprites.draw(screen)
 | 
				
			||||||
 | 
					    pygame.display.flip()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					pygame.quit()
 | 
				
			||||||
| 
						 | 
					@ -1,6 +1,6 @@
 | 
				
			||||||
import pygame
 | 
					import pygame
 | 
				
			||||||
import random
 | 
					import random
 | 
				
			||||||
import os
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
WIDTH = 360
 | 
					WIDTH = 360
 | 
				
			||||||
| 
						 | 
					@ -19,7 +19,6 @@ pygame.mixer.init()
 | 
				
			||||||
screen = pygame.display.set_mode(WINDOW_SIZE)
 | 
					screen = pygame.display.set_mode(WINDOW_SIZE)
 | 
				
			||||||
pygame.display.set_caption("My Game")
 | 
					pygame.display.set_caption("My Game")
 | 
				
			||||||
clock = pygame.time.Clock()
 | 
					clock = pygame.time.Clock()
 | 
				
			||||||
os.environ['PYGAME_HIDE_SUPPORT_PROMPT'] = "hide"
 | 
					 | 
				
			||||||
running = True
 | 
					running = True
 | 
				
			||||||
while running:
 | 
					while running:
 | 
				
			||||||
    clock.tick(FPS)
 | 
					    clock.tick(FPS)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										105
									
								
								PyGame/practice/storage/pcview.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										105
									
								
								PyGame/practice/storage/pcview.py
									
									
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,105 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# https://www.youtube.com/watch?v=Y1rUga8Y5XY
 | 
				
			||||||
 | 
					import ttkbootstrap as ttk
 | 
				
			||||||
 | 
					from ttkbootstrap.constants import * # this imoports all ok to use?
 | 
				
			||||||
 | 
					from tkinter import filedialog
 | 
				
			||||||
 | 
					from tkinter import messagebox
 | 
				
			||||||
 | 
					from PIL import ImageTk, Image
 | 
				
			||||||
 | 
					import os, os.path
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					win = ttk.Window()
 | 
				
			||||||
 | 
					win.title("Image Viewer")
 | 
				
			||||||
 | 
					ttk.Style("superhero")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# size of the window
 | 
				
			||||||
 | 
					win.geometry("800x600")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					main_frame = ttk.Frame(win)
 | 
				
			||||||
 | 
					main_frame.pack()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Variable NEED TO GO OVER THIS 
 | 
				
			||||||
 | 
					file_location = ""
 | 
				
			||||||
 | 
					img_no = 0
 | 
				
			||||||
 | 
					imgs = []
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					explorer_frame = ttk.Frame(main_frame)
 | 
				
			||||||
 | 
					explorer_frame.grid(row=0, column=0, padx=10, pady=(10, 0))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					explorer_entery = ttk.Entry(explorer_frame, width=80)
 | 
				
			||||||
 | 
					explorer_entery.grid(row=0, column=0, columnspan=2, padx=(80, 0) )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					image_frame = ttk.Frame(main_frame)
 | 
				
			||||||
 | 
					image_frame.grid(row=1,column=0)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					btn_frame = ttk.Frame(main_frame)
 | 
				
			||||||
 | 
					btn_frame.grid(row=2,column=0)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					no_label = ttk.Label(image_frame, font=("Arial" , 20, "bold"))
 | 
				
			||||||
 | 
					no_label.grid(row=0, column=4, pady=(10,0), sticky=NW)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					image_label = ttk.Label(image_frame, width=100, text="")
 | 
				
			||||||
 | 
					image_label.grid(row=1, column=0, padx=(60, 0), pady=10, rowspan=10, columnspan=8)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# functions the guy put it around line 47 in the vid order?
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Picking the image folder
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def explor_file():
 | 
				
			||||||
 | 
					    global file_location
 | 
				
			||||||
 | 
					    file_location = filedialog.askdirectory(initialdir= '/', title="Selevt Folder")
 | 
				
			||||||
 | 
					    explorer_entery.delete(0, END)
 | 
				
			||||||
 | 
					    explorer_entery.insert(0, file_location)
 | 
				
			||||||
 | 
					    set_img_list()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# extracting all the images in the folder
 | 
				
			||||||
 | 
					# RESIZING the images and saving them to a list 
 | 
				
			||||||
 | 
					def set_img_list():
 | 
				
			||||||
 | 
					    global imgs
 | 
				
			||||||
 | 
					    global file_location
 | 
				
			||||||
 | 
					    global img_no
 | 
				
			||||||
 | 
					    global image_label
 | 
				
			||||||
 | 
					    valid_images = [ ".jpg", ".gif", ".png,", ".tga"]
 | 
				
			||||||
 | 
					    imgs = []
 | 
				
			||||||
 | 
					    img_no =0
 | 
				
			||||||
 | 
					    for file in os.listdir(file_location):
 | 
				
			||||||
 | 
					        ext = os.path.splitext(file)[1]
 | 
				
			||||||
 | 
					        if ext.lower() not in valid_images:
 | 
				
			||||||
 | 
					            continue
 | 
				
			||||||
 | 
					        img = Image.open(os.path.join(file_location, file))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # RESIZE the images
 | 
				
			||||||
 | 
					        w, h = img.size # Getting the current size (width and height) of the image
 | 
				
			||||||
 | 
					        n_height = 400 #setting the new height that is a constant
 | 
				
			||||||
 | 
					        n_width = int((n_height/h) * w) # calculating the new width
 | 
				
			||||||
 | 
					        img = img.resize((n_width, n_height))
 | 
				
			||||||
 | 
					        imgs.append(ImageTk.PhotoImage(img))
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    if len(imgs) >= 1:
 | 
				
			||||||
 | 
					        image_label.configure(image=imgs[img_no])
 | 
				
			||||||
 | 
					        no_label.configure(text=f"{img_no+1}/{len(imgs)}")
 | 
				
			||||||
 | 
					    else:
 | 
				
			||||||
 | 
					        messagebox.showerror("No image", "No image in this directory, choose another to view images") 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					prev_btn = ttk.Button(btn_frame, text="Previous")
 | 
				
			||||||
 | 
					prev_btn.grid(row=0, column=0, padx=10)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					next_btn = ttk.Button(btn_frame, text="  Next  ")
 | 
				
			||||||
 | 
					next_btn.grid(row=0, column=1, padx=10)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					explorer_btn = ttk.Button(explorer_frame, text="Choose Location", command=explor_file)
 | 
				
			||||||
 | 
					explorer_btn.grid(row=0, column=5, padx=10)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					win.mainloop()
 | 
				
			||||||
		Loading…
	
		Reference in New Issue
	
	Block a user