From 6ec59f3d7a2e3c5654159e0d71334d25676237cc Mon Sep 17 00:00:00 2001 From: trav Date: Tue, 21 Nov 2023 22:51:08 -0500 Subject: [PATCH] this has a new import feature with values... will document soon! --- drawing.png | Bin 4726 -> 7235 bytes freeze_frame.jpg | Bin 12294 -> 29843 bytes kiosk6.py | 188 +++++++++++++++++++++++++++++++++++------------ merged_image.png | Bin 0 -> 11385 bytes ssb-post.sh | 2 +- to_print.zpl | 2 +- 6 files changed, 141 insertions(+), 51 deletions(-) create mode 100644 merged_image.png diff --git a/drawing.png b/drawing.png index 0a7c71fd22a259413b56e0464bc22beea711dbad..1f5c8e8f7969cc4b607a2271f12aec889ece8be6 100644 GIT binary patch literal 7235 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 Ef*0i(IsgCw diff --git a/freeze_frame.jpg b/freeze_frame.jpg index e8500a625431db490f24c8b52a4e243b5ee69cdb..eb23dff08251d373c8b6d2c66ae718ba100c0762 100644 GIT binary patch literal 29843 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 Y{oOEswoyBXn50`V@hbd<#c+TB+4TKe+5i9m literal 12294 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", self.draw_line) self.image_on_canvas = None # To store imported image's reference self.canvas.pack(pady=20) @@ -382,6 +385,11 @@ class Screen4(tk.Frame): self.buttons_frame = tk.Frame(self.right_frame, bg='#bcfef9') self.buttons_frame.pack(pady=50) + # Define the info_label to display QRX, QRY, and QRscale values + self.info_label = tk.Label(self.right_frame, text="", bg='#bcfef9', font=TEXT_FONT) + self.info_label.pack(pady=5) # Use pack instead of grid + + # Add Draw Size buttons tk.Button(self.buttons_frame, text=".", command=lambda: self.set_draw_size(1), height=3, width=10, bg='peach puff').grid(row=0, column=0, padx=5, pady=5) tk.Button(self.buttons_frame, text="*", command=lambda: self.set_draw_size(2), height=3, width=10, bg='peach puff').grid(row=1, column=0, padx=5, pady=5) @@ -403,7 +411,7 @@ class Screen4(tk.Frame): tk.Button(self.right_frame, text="Done", command=self.next, height=3, width=10, bg='peach puff', font=BUTTON_FONT).pack(pady=10) # Adding a home button - master.add_home_button(self.right_frame) + master.add_home_button(self) def draw_line(self, event): x, y = event.x, event.y @@ -430,49 +438,73 @@ class Screen4(tk.Frame): def clear_drawing(self): self.canvas.delete("all") # Clear canvas - self.drawing = Image.new('1', (635, 360), 1) # Create new blank drawing image + self.drawing = Image.new('1', (650, 360), 1) # Create new blank drawing image self.draw = ImageDraw.Draw(self.drawing) # Prepare to draw on the new blank image self.add_qr_box() # Add QR box to the canvas - def add_qr_box(self): - self.canvas.create_rectangle(506, 217, 627, 346, outline='black', fill='white') - self.canvas.create_text(540, 260, text="QR", fill="black") + # add_qr_box to accept coordinates and size + def add_qr_box(self, x=506, y=217, size=1): + # Adjust the size based on QRscale + box_size = 37 * size + self.canvas.create_rectangle(x, y, x + box_size, y + box_size, outline='black', fill='white') + self.canvas.create_text(x + box_size/2, y + box_size/2, text="QR", fill="black") + def import_image(self): + # Open file dialog to select an image file - file_path = filedialog.askopenfilename(filetypes=[("Image files", "*.jpg *.png")]) + file_path = filedialog.askopenfilename(filetypes=[("Image files", "*.jpg *.jpeg *.png")]) - if file_path: - # Check if the selected file has a correct extension - if not (file_path.lower().endswith('.jpg') or file_path.lower().endswith('.png')): - tk.messagebox.showerror("Invalid file", "Please select a .jpg or .png file.") - return + if not file_path: # Exit the method if no file is selected + return - # Load the image - img = Image.open(file_path) + # Split the file path at hyphens and take the last three parts + file_parts = file_path.split('-')[-4:] - # Convert to 1-bit black and white - img = img.convert('1') + if len(file_parts) < 4: + messagebox.showerror("Filename Error", "The filename does not follow the expected pattern.") + return - # Resize or crop the image to fit the canvas - if img.size[0] > 635 or img.size[1] > 360: - img = img.crop((0, 0, 635, 360)) + try: + # Extract and convert the numeric parts + QRX = int(file_parts[1]) + QRY = int(file_parts[2]) + QRscale = int(file_parts[3].split('.')[0]) # Split at the dot and take the first part - # Paste the imported image onto the drawing image - self.drawing.paste(img) + # Update the main application's QR data + self.master.QRX = QRX + self.master.QRY = QRY + self.master.QRscale = QRscale - # Save image reference to avoid garbage collection - self.imported_img = ImageTk.PhotoImage(img) + # Display QRX, QRY, and QRscale values + self.info_label.config(text=f"QRX: {QRX}, QRY: {QRY}, QRscale: {QRscale}") + except ValueError as e: + messagebox.showerror("Filename Error", "The filename does not follow the expected pattern.") + return - # Clear the canvas - self.canvas.delete("all") + # Clear the canvas + self.canvas.delete("all") + # Load the image + img = Image.open(file_path) + # Convert to 1-bit black and white + img = img.convert('1') + # Resize or crop the image to fit the canvas + if img.size[0] > 675 or img.size[1] > 375: + img = img.crop((0, 0, 650, 360)) + self.add_qr_box(QRX, QRY, QRscale) - # Add image to the canvas - self.image_on_canvas = self.canvas.create_image(0, 0, image=self.imported_img, anchor='nw') + # Paste the imported image onto the drawing image + self.drawing.paste(img) - # Re-add QR box overlay - self.add_qr_box() + # Save image reference to avoid garbage collection + self.imported_img = ImageTk.PhotoImage(img) + # Add image to the canvas + self.image_on_canvas = self.canvas.create_image(0, 0, image=self.imported_img, anchor='nw') + + # add the QR box at the new position + self.add_qr_box(QRX, QRY, QRscale) + # typed description class Screen5(tk.Frame): @@ -505,6 +537,7 @@ class Screen5(tk.Frame): info_text = info_text.replace('\n', '\\n') self.master.switch_frame(Screen11) +# I understand class Screen6(tk.Frame): def __init__(self, master): tk.Frame.__init__(self, master, bg='#bcfef9') @@ -513,6 +546,7 @@ class Screen6(tk.Frame): master.add_home_button(self) tk.Button(self, text="I Understand", command=lambda: master.switch_frame(Screen3), height=3, width=30, bg='peach puff', font=BUTTON_FONT).pack(pady=10) +# create user not implemented lol class Screen7(tk.Frame): def __init__(self, master): tk.Frame.__init__(self, master, bg='#bcfef9') @@ -530,6 +564,9 @@ class Screen8(tk.Frame): def __init__(self, master): global BUTTON_FONT global TEXT_FONT + + # default set QRscale to 8 + QRscale = 8 tk.Frame.__init__(self, master, bg='#bcfef9') # Creating a frame for the left side of the screen for drawing @@ -545,11 +582,11 @@ class Screen8(tk.Frame): self.right_frame.pack(side='left', padx=50) # Add instructions - self.label = tk.Label(self.center_frame, text="You may now draw your tag! You might like to include contact info for yourself, the name of the item, a drawing, or whatever you want, it's your artistic expression. Thin lines might not show up well (try different drawing tools on the right). In the bottom right of your tag will be a small QR code which links to the Scuttlebutt post for your item. The image you are drawing now will not be posted to Scuttlebutt.", wraplength=400, font=TEXT_FONT) - self.label.pack(pady=50) + self.label = tk.Label(self.center_frame, text="You may now draw your tag! You might like to include contact info for yourself, the name of the item, a drawing, or whatever you want, it's your artistic expression. Thin lines might not show up well (try different drawing tools on the right).", wraplength=400, font=TEXT_FONT) + self.label.pack(pady=30) # the drawing area - self.drawing = Image.new('1', (475, 375), 1) + self.drawing = Image.new('1', (325, 179), 1) self.draw = ImageDraw.Draw(self.drawing) self.last_draw = None @@ -558,16 +595,20 @@ class Screen8(tk.Frame): self.draw_size = 1 # Creating the Canvas for drawing - self.canvas = Canvas(self.left_frame, width=475, height=375, bg='white') + self.canvas = Canvas(self.left_frame, width=325, height=179, bg='white') self.canvas.bind("", self.draw_line) self.canvas.pack(pady=20) self.canvas.bind("", self.reset_last_draw) - self.add_qr_box() # Add QR box to the canvas + # self.add_qr_box() # Add QR box to the canvas #Create a frame for the buttons grid self.buttons_frame = tk.Frame(self.right_frame, bg='#bcfef9') self.buttons_frame.pack(pady=10) + # Add Import Image Button + tk.Button(self.buttons_frame, text="Import Image", command=self.import_image, height=2, width=15, bg='peach puff', font=BUTTON_FONT).grid(row=4, column=0, columnspan=2, pady=10, sticky='ew') + + # Add Draw Size buttons tk.Button(self.buttons_frame, text=".", command=lambda: self.set_draw_size(1), height=3, width=10, bg='peach puff').grid(row=0, column=0, padx=5, pady=5) tk.Button(self.buttons_frame, text="*", command=lambda: self.set_draw_size(2), height=3, width=10, bg='peach puff').grid(row=1, column=0, padx=5, pady=5) @@ -624,6 +665,44 @@ class Screen8(tk.Frame): self.canvas.create_rectangle(346, 229, 475, 358, outline='black', fill='white') self.canvas.create_text(355, 260, text="QR", fill="black") + + + def import_image(self): + # Open file dialog to select an image file + file_path = filedialog.askopenfilename(filetypes=[("Image files", "*.jpg *.png")]) + + if file_path: + # Check if the selected file has a correct extension + if not (file_path.lower().endswith('.jpg') or file_path.lower().endswith('.png')): + tk.messagebox.showerror("Invalid file", "Please select a .jpg or .png file.") + return + + # Load the image + img = Image.open(file_path) + + # Convert to 1-bit black and white + img = img.convert('1') + + # Resize or crop the image to fit the canvas + if img.size[0] > 325 or img.size[1] > 179: + img = img.crop((0, 0, 325, 179)) + + # Paste the imported image onto the drawing image + self.drawing.paste(img) + + # Save image reference to avoid garbage collection + self.imported_img = ImageTk.PhotoImage(img) + + # Clear the canvas + self.canvas.delete("all") + + # Add image to the canvas + self.image_on_canvas = self.canvas.create_image(0, 0, image=self.imported_img, anchor='nw') + + # Re-add QR box overlay + # self.add_qr_box() + + # txt update class Screen9(tk.Frame): def __init__(self, master): @@ -691,6 +770,7 @@ class Screen13(tk.Frame): global TEXT_FONT tk.Frame.__init__(self, master, bg='#bcfef9') master.add_home_button(self) + # Create a container to hold the widgets container = tk.Frame(self) container.place(relx=0.5, rely=0.5, anchor='center') @@ -705,11 +785,16 @@ class Screen13(tk.Frame): # go ahead and print the thing def printy(self): - global print_type + global print_type # Specify the path to your image file path_to_image = "/home/trav/Documents/custodiosk/freeze_frame.jpg" + # Get QR data from the main application + QRX = self.master.QRX + QRY = self.master.QRY + QRscale = self.master.QRscale + # make ssb post key = addtoDB.addToSSB(path_to_image,info_text,1) @@ -722,8 +807,8 @@ class Screen13(tk.Frame): qr = qrcode.QRCode( version = 1, error_correction = qrcode.constants.ERROR_CORRECT_H, - box_size = 3, - border = 1, + box_size = QRscale, + border = 0, ) # Add data qr.add_data(key) @@ -739,22 +824,27 @@ class Screen13(tk.Frame): qr = Image.open("qr.jpg") # qr #### merge em - merged_image = Image.new('L', (675, 375), "white") - + ## if sticker if print_type == "sticker": - merged_image.paste(drawing, (0, 0)) - merged_image.paste(qr, (506, 217)) + ## if we didn't custom set X/Y, set to defaults + if QRX is None and QRY is None: + QRX=506 + QRY=217 + merged_image = Image.new('L', (675, 375), "white") + merged_image.paste(drawing, (0, 8)) + merged_image.paste(qr, (QRX, QRY+8)) # we add 8 because this is slightly off from when we drew it merged_image.save("merged_image.png") - # if ribbon we gotta rotate 90 degrees and paste QR in different spot + # if ribbon if print_type == "ribbon": - merged_image.paste(drawing, (100, 0)) - merged_image.paste(qr, (446, 229)) # paste without mask + merged_image = Image.new('L', (375, 675), "white") + merged_image.paste(drawing, (25, 100)) # set it 25 in because that's the border + merged_image.paste(qr, (25, 279)) # paste without mask merged_image.save("merged_image.png") image = Image.open("merged_image.png") - rotated_image = image.transpose(Image.ROTATE_270) # Transpose and rotate 90 degrees - rotated_image.save("merged_image.png") + # rotated_image = image.transpose(Image.ROTATE_270) # Transpose and rotate 90 degrees, old version when we weren't doing ribbon vertical + # rotated_image.save("merged_image.png") # Get the ZPL code for the image zpl_code = tozpl.print_to_zpl("merged_image.png") diff --git a/merged_image.png b/merged_image.png new file mode 100644 index 0000000000000000000000000000000000000000..47d6c2145b38ed576f392ae96f185a4a195b263f GIT binary patch literal 11385 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 Hu0mjf0RxHM literal 0 HcmV?d00001 diff --git a/ssb-post.sh b/ssb-post.sh index 1053a15..76c131f 100755 --- a/ssb-post.sh +++ b/ssb-post.sh @@ -54,7 +54,7 @@ then ssb-server publish . <