Tengo esta imagen de ejemplo a 640x480:

Si la quiero redimensionar con una altura de 100px me queda proporcionalmente a 133x100:

Pero yo necesito que el resultado final tenga unas dimensiones de 159x100, quedando los bordes sobrantes de color negro (o transparente si es posible):

Necesito hacerlo con PHP. A ver si alguien puede ayudarme con esto. Gracias y un gran saludo.
PD: La foto es de mi gato y las redimensiones para los ejemplos las he hecho con Photoshop.