Uma maneira à prova de falhas para evitar que a biblioteca de imagens GD fique sem memória? (PHP)

Existe uma maneira de evitar o PHPBiblioteca de imagens GD de ficar sem memória? Se uma imagem muito grande for carregada, o GD tende a ficar sem memória, finalizando o script. Eu gostaria de lançar uma exceção ou algo assim, mas isso não acontece.

No momento, estou usando um script de remendos que primeiro gera umaini_set('memory_limit', '128M'), se isso funciona, eu geralmente estou pronto. Dependendo da configuração do servidor, isso pode não ser possível, por isso estou recorrendo a um algoritmo que tenta estimar a quantidade de memória necessária (considerando a resolução, a profundidade de cores, os canais e um fator de correção) e, em seguida, compara-a amemory_get_usage() se a função existe, caso contrário, faz uma estimativa aproximada.

A coisa toda funciona até agora, mas está longe de ser elegante e vai falhar em alguns casos extremos, tenho certeza. Existe alguma maneira melhor de fazer isso, ou seja, se o GD falhar graciosamente se for necessário, em vez de parar tudo?

questionAnswers(6)

yourAnswerToTheQuestion