Salut,
Je n'arrive pas à comprendre que fait cette fonction :
En sachant que c'est le code suivant qui l'appel :
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 private static Bitmap getImageFromArrayForSize(Resources res, int[] resIds, int[] sizes, int size) { Bitmap bmp = null; for (int i = 0; i < sizes.length; i++) { if (sizes[i] == size) { bmp = BitmapFactory.decodeResource(res, resIds[i]); break; } } if (bmp == null) { Matrix matrix = new Matrix(); float scale = ((float) size) / sizes[0]; matrix.postScale(scale, scale); bmp = BitmapFactory.decodeResource(res, resIds[0]); bmp = Bitmap.createBitmap(bmp, 0, 0, bmp.getWidth(), bmp.getHeight(), matrix, true); } return bmp; }
Ce code me permet d'obtenir un bitmap de la taille souhaitée mais je ne comprends pas comment la fonction fait ça. Que fait exactement la fonction createBitmap avec la Matrix passée en paramètre , et surout qu'est-ce exactement que cette matrice ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Resources res = getResources(); int[] bulleType1Bitmaps = { R.drawable.bulle_1280, R.drawable.bulle_800, R.drawable.bulle_480, R.drawable.bulle_320,}; int[] sizes = { 1280, 800, 480, 320 }; int size = getWidth(); bulleType1Bitmap = getImageFromArrayForSize(res, bulleType1Bitmaps, sizes, size); }
Partager