Bonjour,

j'essaie actuellement d'agrandir une gif (avec de la transparence) sans la scaler( l'étirer) , c'est a dire en rajoutant des pixel transparents sur les bords ..
J'y arrive, en créant une nouvelle image plus grande et en dessinant l'ancienne au milieu de celle-ci, cependant la transparence n'est pas gardée ... A la place apparaissent des pixels noirs....
Voici mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
public static Image increaseImageSize(Image image, int width, int height) {
 
        int middleOriginalX = image.getImageData().width / 2;
        int middleOriginalY = image.getImageData().height / 2;
        int middleCopyX = width / 2;
        int middleCopyY = height / 2;
        int offsetX = middleCopyX - middleOriginalX ;
        int offsetY = middleCopyY - middleOriginalY ;
        ImageData idOriginal = image.getImageData();
 
        ImageData idCopyPlusGrande= new ImageData(width,height,idOriginal.depth,idOriginal.palette);
 
        for(int i = 0 ; i < idCopyPlusGrande.width ; i++) {
            for(int j = 0 ; j < idCopyPlusGrande.height ; j++) {
                if (i>= offsetX && j >= offsetY 
                        && (i-offsetX) < idOriginal.width 
                        && (j-offsetY) < idOriginal.height) {
     idCopyPlusGrande.setAlpha(i, j, idOriginal.getAlpha(i-offsetX, j-offsetY));
     idCopyPlusGrande.setPixel(i, j, idOriginal.getPixel(i-offsetX, j-offsetY));
                }
            }
        }
        Image result = new Image(Display.getDefault(),idCopyPlusGrande);
 
 
        return result;
    }
quelqu'un aurait-il une idée ?