Red de conocimiento informático - Conocimiento del nombre de dominio - Solicitud urgente: mostrar datos de imagen de Android RGBA_8888 en ImageView

Solicitud urgente: mostrar datos de imagen de Android RGBA_8888 en ImageView

Convierte directamente el color de un determinado píxel: int argb = (rgba & 0xFF) << 24 | (rgba >>> 8);

Convierte el mapa de bits generado (SDK) :

/**

* Inicializar pincel de filtro de color

*/

void initFilterPaint() {

Pintura pintura= nueva Pintura();

float[] src = {

0, 0, 0, 1, 0, //R' = 0*R + 0 * G + 0*B + 1*A + 0;

1, 0, 0, 0, 0, //G' = 1*R + 0*G + 0*B + 0*A + 0;

0, 1, 0, 0, 0, //B' = 0*R + 1*G + 0*B + 0*A + 0;

0 , 0, 1, 0, 0 };//A' = 0*R + 0*G + 1*B + 0*A + 0;

filtro ColorFilter = nuevo ColorMatrixColorFilter(nuevo ColorMatrix( src ));

paint.setColorFilter(filtro);

this.mFilterPaint = pintura;

}

/**< / p>

* @param iv ImageView que se presentará

* @param src Matriz unidimensional de píxeles 0xrrggbbaa Referencia de formato Método Bitmap.setPixels

* @param width Ancho de imagen

* @param altura altura de la imagen

*/

void filterArrayAndShow(ImageView iv,int[] src,int width,int height) {

pintura final filterPaint = mFilterPaint;

mapa de bits mapa de bits = Bitmap.createBitmap(ancho, alto, Bitmap.Config.ARGB_8888);

// largo uptimeMillis = SystemClock.uptimeMillis ( );

Canvas bitmapCanvas = new Canvas(bitmap);

bitmapCanvas.drawBitmap(src, 0, width, 0, 0, width, height, true, filterPaint);

p>

iv.setImageBitmap(mapa de bits);

// System.out.println(SystemClock.uptimeMillis() - uptimeMillis);

}

/**

* @param iv ImageView a presentar

* @param src Mapa de bits con píxel 0xrrggbbaa

*

/

void filterAndShow(ImageView iv, Bitmap src) {

final Paint filterPaint = mFilterPaint;

Bitmap bitmap = Bitmap.createBitmap(src.getWidth() , src.getHeight(), src.getConfig());

// long uptimeMillis = SystemClock.uptimeMillis();

Canvas bitmapCanvas = new Canvas(bitmap); p>

bitmapCanvas.drawBitmap(src, 0, 0, filterPaint);

iv.setImageBitmap(bitmap);

// System.out.println(SystemClock .uptimeMillis () - uptimeMillis);

}