@ryanthhua on Grad Picture Getter For Picking The Right Picture
Recently just had graduation, and found out that flash photography provides a zoomed in hd picture of the grad picture, which you can select each spot to zoom into. I did some research and found a github project which used the idea to stitch together the pictures, but when I ran it it did not work. So now I decided I will make my own program to stitch the zoomed in pictures together to make one big preview image of the graduation picture so that you can correctly decide what to get.
I started with planning how it would work, such as the double for loop to get the x and y coordinate, which flash photography uses to grab the right zoomed picture via url, and then the idea to download each picture and then use some java method to put them onto a larger image.
What I found difficult was not using new methods I had never seen, but rather understanding how the url worked and how even though you go down one pixel on the y axis it for some reason visually shifts the x axis to the right. So I could not take thousands of pictures and then place them together as they would not align correctly; instead I had to use larger pictures and divided up the picture by 4 x 4.
After the first success with getting the picture stitched together I wanted to try and remove the zoom in box by cropping it out.
So I used subimage method and did some measurements to see where I need to crop. Then I realized that the lines remove image data creating visual issues, and I need to find a way to restore it, so I implemented gaps to be introduced and after finding the correct tweaks for one picture, I tried it on a different one and then those didn't work for that one, so I implemented user settings so that the user can adjust and try to make it work for their picture.
I had ditched having the zoomed in box, but then I realized that trying to restore the data lost by removing the zoom in box may not work at all, so I put an option so that you can have one with the zoom in box, but have no visual issues.
I think by limiting myself to no AI and only use forums like stack overflow, I was able to be more of an experimentor, with most of my time tweaking small things to see if they made a difference, and by doing these I think I gained more experience and understanding with the new methods I learned.
Then I learned how to export ot jar in vscode and then use launch4j's config to set it to cli,jre bundle path, and in the end create a exe.
- 3 devlogs
- 8h