Conserver le DPI d'une image redimensionnée
Posté : 24 sept. 2008, 22:02
Bonsoir,
Travaillant actuellement sur le back office d'une banque d'images en ligne, le client réclame que lors de l'upload d'une photo en 300 dpi, une copie de celle-ci soit copiée et redimensionnée à une dimension de 1920 x 1200 @ 300 dpi. Le problème est que, lors du redimensionnement (ImageCopyResampled()), l'image est automatiquement remise à 72 dpi.
Pour contrer ce problème, j'ai lu qu'il convenait d'augmenter le nombre de pixels proportionnellement au nombre de dpi souhaité. Autrement dit, l'équivalent de 1920 x 1200 @ 300 dpi serait 8000 x 5000 @ 72 dpi.
Lorsque je fais ça, vu la haute résolution de l'image envoyée et la haute résolution de l'image de destination, PHP ne parvient pas à terminer la requête, soit pour une erreur d'allocation mémoire (que j'améliore avec un ini_set('memory_limit', xxx) soit pour une erreur de délai de 30 secondes dépassé.
Existe-t-il un quelconque moyen de redimensionner une image sans pour autant la réduire à 72 dpi ?
La dernière solution que j'ai trouvée serait que le client redimensionne l'image au préalable dans Photoshop et envoie donc une fois l'image originale et une fois l'image à 1920 x 1200 @ 300 dpi, mais il refuse de se plier à cette étape supplémentaire.
Merci beaucoup pour votre aide.
PS : Pour ceux qui me diraient que 300 dpi ne servent à rien sur le web, je leur répondrai qu'il s'agit d'images destinées à être imprimées. La dimension voulue est une exigence du client.
Travaillant actuellement sur le back office d'une banque d'images en ligne, le client réclame que lors de l'upload d'une photo en 300 dpi, une copie de celle-ci soit copiée et redimensionnée à une dimension de 1920 x 1200 @ 300 dpi. Le problème est que, lors du redimensionnement (ImageCopyResampled()), l'image est automatiquement remise à 72 dpi.
Pour contrer ce problème, j'ai lu qu'il convenait d'augmenter le nombre de pixels proportionnellement au nombre de dpi souhaité. Autrement dit, l'équivalent de 1920 x 1200 @ 300 dpi serait 8000 x 5000 @ 72 dpi.
Lorsque je fais ça, vu la haute résolution de l'image envoyée et la haute résolution de l'image de destination, PHP ne parvient pas à terminer la requête, soit pour une erreur d'allocation mémoire (que j'améliore avec un ini_set('memory_limit', xxx) soit pour une erreur de délai de 30 secondes dépassé.
Existe-t-il un quelconque moyen de redimensionner une image sans pour autant la réduire à 72 dpi ?
La dernière solution que j'ai trouvée serait que le client redimensionne l'image au préalable dans Photoshop et envoie donc une fois l'image originale et une fois l'image à 1920 x 1200 @ 300 dpi, mais il refuse de se plier à cette étape supplémentaire.
Merci beaucoup pour votre aide.
PS : Pour ceux qui me diraient que 300 dpi ne servent à rien sur le web, je leur répondrai qu'il s'agit d'images destinées à être imprimées. La dimension voulue est une exigence du client.