diff --git a/PyGame/Picviewer/pcview.py b/PyGame/Picviewer/pcview.py new file mode 100644 index 0000000..fd279ab --- /dev/null +++ b/PyGame/Picviewer/pcview.py @@ -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() \ No newline at end of file diff --git a/PyGame/practice/gameprac/indianpygame.py b/PyGame/practice/gameprac/indianpygame.py index b61b1cd..12905dd 100644 --- a/PyGame/practice/gameprac/indianpygame.py +++ b/PyGame/practice/gameprac/indianpygame.py @@ -1,5 +1,8 @@ +import os +os.environ['PYGAME_HIDE_SUPPORT_PROMPT'] = "hide" import pygame + pygame.init() SCREEN_WIDTH = 800 @@ -28,5 +31,5 @@ while run: run = False pygame.display.update() - + pygame.quit() \ No newline at end of file