Da hilft einem PHP nicht weiter, das muss man mit clientseitigen Techniken umsetzen. Spreadshirt verwendet dazu noch Flash, andere schon JavaScript/Canvas. Siehe etwa Fabric.js.
Oder auch JavaScript ohne Canvas, um die derzeit breiteste Nutzerabdeckung zu erzielen.