¿Cómo usar PersistentBitmap con cambio de tamaño de mapa de bits?
Frecuentes
Visto 268 veces
0
Actualmente uso un código como este que funciona para reajustar los mapas de bits para diferentes tamaños de pantalla:
A.back = GPATools.ResizeTransparentBitmap(A.back, 150, 37,
Bitmap.FILTER_LANCZOS, Bitmap.SCALE_TO_FIT);
Sin embargo, cada vez que cargo la aplicación, me toma tiempo volver a cambiar su tamaño, por lo que me han dicho que use este código para eso:
class PersistableBitmap implements Persistable {
int width;
int height;
int[] argbData;
public PersistableBitmap(Bitmap image){
width = image.getWidth();
height = image.getHeight();
argbData =new int[width * height];
image.getARGB(argbData,0, width,0,0, width, height);
}
public Bitmap getBitmapImage(){
Bitmap image =new Bitmap(width, height);
image.setARGB(argbData,0, width,0,0, width, height);
return image;
}
¡Mi problema es que no tengo idea de cómo implementar los dos juntos! Por favor ayuda chicos/chicas, muchas gracias!
1 Respuestas
1
Los siguientes enlaces pueden ser útiles:
contestado el 23 de mayo de 17 a las 12:05
Ya sé cómo usar el almacenamiento persistente para datos regulares, su almacenamiento de mapas de bits es mi problema actual. Gracias de todos modos. - Joey Juan Juan
Una instancia de Bitmap
es solo una combinación de regular data
, es decir, tipos de datos primitivos. Dijiste que ya sabes cómo usar el almacenamiento persistente para datos regulares, entonces, ¿cuál es el problema con la clase? PersistableBitmap
? Solo necesitas almacenar solo width
, height
y argbData
de la clase PersistableBitmap
. Y cuando termine de leer ese objeto del almacén de persistencia, puede usar getBitmapImage()
para obtener el Bitmap
. Si tiene alguna confusión, cualquiera de los enlaces anteriores puede ayudarlo. - Rupak
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas java blackberry bitmap resize or haz tu propia pregunta.
¡Agregue algunos espacios en blanco al fragmento al menos! - Mister Smith
Supongo que tu mapa de bits es muy grande y que has hecho las pruebas pertinentes para comprobar que el cambio de tamaño consume más tiempo que cargarlo desde la persistencia. De lo contrario, le sugiero que incluya la imagen preescalada en los recursos del proyecto, o incluso almacene en caché el mapa de bits en el almacén de tiempo de ejecución. - Mister Smith
espacios en blanco? De todos modos, tengo muchas imágenes, no son grandes, pero es solo una gran cantidad. Alguien también sugirió que podría estar bloqueando la interfaz de usuario principal y ponerlo en otro hilo, pero no estoy exactamente seguro de cómo hacerlo. - Joey John John
Cambiar
classPersistableBitmapimplementsPersistable
aclass PersistableBitmap implements Persistable
y solucionar otros problemas. - Rupakeso fue solo un error de copiar y pegar Rupak. Me pregunto cómo implementar las dos codificaciones diferentes: Joey John John