So after doing some more research and attempts, I managed to find some useful resources and created a working solution that suits my needs. Below I link some resources, discuss my solution, and explain what it does, maybe it will be helpful for others.
The solution makes use of PowerApps, Flow and a custom connector based off an Open API file.
The video link below is what I used and shows all the steps required so I will be brief.
I create my PowerApp with a Pen Input, Gallery and Button. The Pen Input OnSelect adds the image property to a collection. The gallery is linked to the collection data source. And the button runs a function to add the collection to a SharePoint docment library.
I create a Flow that is triggered by a HTTP request, I then add two compose actons called Get File Name and Get File, finally I have a create file in SharePoint action that makes use of the Get File Name and Get File outputs. Next I used an online Open API Spec generator (link below) to create a swagger file. Lastly I use the generated file to create a custom connector, which I then connect to in PowerApps, and call the function on the Button.
Just a helpful tip with following the video, I suggest downloading his sample swagger file (can be found in the description) and when you create your own file, just compare the two and make sure yours matches his (not exactly, just the structure and fields, some of your values will be different).
Also for the sig field in the swagger file, you will find that on the end of the Flow HTTP request link (from sig= onwards).
Video link - https://www.youtube.com/watch?v=mp-8B1fLrqs
Open API Spec Generator - http://specgen.apistudio.io/open-api/eae651a3-a2fb-4d97-b10c-ea8494d6b255/run-api