Credit to @GlichCoder909 for the original project. This project includes a save/upload feature, as per the creator's request from https://scratch.mit.edu/discuss/topic/527956/?page=1#post-5420713 Explanation of the save/upload process When the user draws, the x and y coordinates of the mouse at that moment are recorded in the lists "SaveX" and "SaveY". (240 is added to x and 180 is added to y so that we don't have to deal with negative numbers. During the upload process, 240 is subtracted from the saved x and 180 is subtracted from the saved y.) At the same time, the pen color and size is recorded in the lists "SaveColor" and "SaveSize". Whenever the flag is clicked or Clear Canvas is clicked, these lists are cleared along with the canvas. When the user clicks on the save icon, it disables drawing and begins the save process. During this process, the first thing that it does is to modify all x and y numbers to have a length of three characters (i.e. 259 remains 259, but 32 becomes 032 and 8 becomes 006). It also does the same for the size numbers, to a length of two characters (pen size 4 becomes 04 while pen size 67 stays as 67). Then, the real magic happens. In a fifth list, "Save Code", the list is cleared, then a blank item is added, then a counter is set to 1 and is constantly incremented until it exceeds the length of the "SaveX" list. Each time it counter is incremented (and the first time too, before it is incremented from 1 to 2), it appends onto item 1 of "Save Code" the corresponding counter # item from the "SaveX" list, "SaveY" list, "SaveColor" list, and "SaveSize" list (in that order). After all is said and done, you have a very long string of numbers that makes up the save code of your drawing. Then the user can triple click on the code and copy it. When the user clicks on upload, it is prompted for a code. Once entered, the brush is suddenly removed from the user's control and starts drawing the saved image using the save code. Essentially, it reads the code in segments of 17 characters (3 for x, 3 for y, 9 for color [3 for color, 3 for saturation, and 3 for brightness], and 2 for size), setting each attribute each time. A side effect of this method is that you get a cool animation of the brush moving around automatically drawing your image lol. That was completely unintentional, I'll let you know. And that's the end of my explanation. Sorry if it's kinda hard to understand, feel free to ask any questions!!