Redimensionnement d'une image
Bonjour à tous !
Je souhait redimensionner une image, mais en gardant les proportions.
Une image de 25x25 pixels, je souhaite en avoir une nouvelle de 250x250 avec l'image centrée, et du blanc autour.
Je me suis concocté une petite méthode qui me réalise déjà ce travail :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
public BufferedImage getImageResized(BufferedImage recupImage, int tailleMaxImg) {
int xDecalage = (tailleMaxImg - recupImage.getWidth()) / 2;
int yDecalage = (tailleMaxImg - recupImage.getHeight()) / 2;
BufferedImage newImage = new BufferedImage(tailleMaxImg, tailleMaxImg, 1);
for (int i = 0; i < newImage.getWidth(); i++) {
for (int j = 0; j < newImage.getHeight(); j++) {
if (j > yDecalage && j < newImage.getHeight() - (yDecalage + 1) && i > xDecalage && i < newImage.getWidth() - (xDecalage)) {
newImage.setRGB(i, j, recupImage.getRGB(i - xDecalage, j - yDecalage));
} else {
newImage.setRGB(i, j, 16777215);
}
}
}
return (newImage;
} |
Cette méthode fonctionne assez bien. Sauf que j'ai tenté pour une image png, avec un fond transparent. J'ai obtenu la nouvelle image avec du noir à la place du transparent, alors que j'aurai voulu plutôt du blanc, ou même garder le tansparent.
J'avoue que je suis perdu à ce niveau-là ... Je n'ai pas trouvé de librairie qui réalisait déjà ce travail, ce pourquoi j'ai décidé de faire moi-même cette méthode.
Auriez-vous une idée ?
Je vous remercie d'avance