Busca información sobre como hacer marcas de agua en imagenes desde php y encontrarás lo que necesitas.
Tal como dice RevangelyonX deberás usar GD a menos que utilizes imagick pero no siempre está disponible en todos los servidores porque no es nativo de php como gd.
Ten mucho ojo porque si alguien sube una imágen de 1000x1000 pixeles y tu editor es de 500x500 tendrás una imágen redimensionada al 50% por lo tanto las posiciones de los pixeles para insertar los maquillajes ya no van a ser los mismos, tendrás que ir calculando el % de relación de aspecto entre la imágen original y la redimensionada y luego tomar las posiciones x/y del maquillaje y de la redimensión del maquillaje y despues de sacar todos esos calculos podras hacer la union de ambas imágenes.
También puedes redimensionar primero las imágenes antes de procesar los cortes y hacer una doble carga, asi te ahorras todos los calculos si no eres bueno en las matematicas.
Mira, acá un trozo del código que tube que hacer para crear un editor de fotos en php:
Es un trozo de mas de 5000 lineas de código entre php, css y javascript.
Si solo quieres pegar maquillajes encima no hay problema pero algun dia tendras que enfrentar el redimensionado de imágenes y la automatización de muchas cosas por mas simple que parezca.