¿Cómo dibujo una imagen basada en un polígono simple?

Me gustaría copiar un área aproximadamente rectangular en un área rectangular. Ejemplo

Ambas áreas están definidas por sus puntos de esquina. Se mantiene la dirección general (sin voltear, etc.).

Simplemente girar la imagen de origen no funciona ya que los lados opuestos pueden tener una longitud diferente.

Hasta ahora no encontré ninguna manera de hacer esto en C # puro (excepto la copia manual de píxeles), ¿así que supongo que tengo que recurrir a la API de Windows o alguna biblioteca de terceros?

Respuestas a la pregunta(2)

Su respuesta a la pregunta