PNG with transparent background recommended
PNG with transparency works best
Color Fill + Clipping Mask
In PS: Add a Solid Color layer above the shirt, set blend to Multiply, clip it to the shirt layer. Here: use the color picker above.
Design Placement
In PS: Place design as a Smart Object, clip it to the shirt layer. Set blend to Multiply so fabric wrinkles show through.
Displacement Map
In PS: Apply Filter → Distort → Displace using a grayscale version of the shirt as the map. This warps the design to follow fabric folds.
Luminosity Mask (advanced)
Create a channel selection from shirt highlights → use as mask on your color fill layer for realistic fabric shading.