PHP / GD, como copiar um círculo de uma imagem para outra?

Existe uma maneira razoavelmente direta de copiar uma área circular de um recurso de imagem para outro? Algo comoimagecopymerge exceto com círculos ou ovais etc?
Se possível, eu quero evitar ter que usar arquivos de imagem pré-criados (qualquer formato oval deve ser possível), e se houver cores de transparência envolvidas, eles devem naturalmente deixar o restante da imagem em paz.

Razão pela qual estou perguntando, tenho algumas classes que permitem aplicar operações de imagem dentro de uma "área selecionada" de uma imagem, o que funciona excluindo primeiro essa área de uma cópia da imagem e, em seguida, sobrepondo a cópia de volta ao original. Mas, e se você quiser selecionar um retângulo e, em seguida, dentro dele, desmarcar um círculo e fazer com que as operações afetem apenas a área restante?

questionAnswers(1)

yourAnswerToTheQuestion