There are two free programs you can use inkscape and gimp. There is a learning curve, I tried a couple times one picture I made a pattern out of I did ok with but struggled with adding text to it, I then tried to make a portrait of my cat it was alright but I wasn't happy with so I gave up for now trying to figure out how to do it.
Also to make it easier to change a picture to a pattern the more clear and higher resolution the picture is the easier it is to work with, if not when you zoom in it pixalates where you get these blocks when you zoom in, thats using gimp, inkscape is a vetor program and won't do this when you zoom in to manipulate the picture to clean it up.