A really quick google search produced the following project on CodePlex:
PhotoCollageMaker[
^]. Perhaps that is a starting point.
As for printing on TShirts, it is really no different from printing on paper. You have a printer that prints on shirts instead of paper, and that printer has a canvas size just like a normal printer does.