Hi there! I'm trying to manipulate a bitmap pixels using android graphics api.
The idea is to create a heatmap using a black/white/alpha gradient. Latter I'll change the color of each pixel depending on it's alpha (red to 255 alpha, green to 0 alpha) The problem I'm having is that all the pixels read are showing as black opaque. Here's my code: private void init() { backbuffer = Bitmap.createBitmap(getWidth(), getHeight(), Bitmap.Config.ARGB_8888); myCanvas = new Canvas(backbuffer); Paint p = new Paint(); p.setStyle(Paint.Style.FILL); p.setColor(Color.WHITE); myCanvas.drawRect(0, 0, getWidth(), getHeight(), p); } @Override protected void onDraw(Canvas canvas) { if (backbuffer == null) { init(); } canvas.drawBitmap(backbuffer, 0, 0, new Paint(Paint.ANTI_ALIAS_FLAG)); } public void addPoint(float x, float y) { RadialGradient g = new RadialGradient(x, y, 20, Color.argb(25, 0, 0, 0), Color.argb(0, 255, 255, 255), TileMode.CLAMP); Paint gp = new Paint(); gp.setShader(g); myCanvas.drawCircle(x, y, 20, gp); addColor(x-20, y-20, 20*2); invalidate(); } private void addColor(float x, float y, float d) { if (x + d > myCanvas.getWidth()) { x = myCanvas.getWidth() - d; } if (x < 0) { x = 0; } if (y < 0) { y = 0; } if (y + d > myCanvas.getHeight()) { y = myCanvas.getHeight() - d; } int r = 0, g = 0, b = 0, tmp = 0; int[] pixels = new int[(int) (d * d)]; backbuffer.getPixels(pixels, 0, (int) d, (int) x, (int) y, (int) d, (int) d); for (int i=0;i<pixels.length;i++) { int alpha = pixels[i] >>> 24; if (alpha <= 255 && alpha >= 235) { tmp = 255 - alpha; r = 255 - tmp; g = tmp * 12; } else if (alpha <= 234 && alpha >= 200) { tmp = 234 - alpha; r = 255 - (tmp * 8); g = 255; } else if (alpha <= 199 && alpha >= 150) { tmp = 199 - alpha; g = 255; b = tmp * 5; } else if (alpha <= 149 && alpha >= 100) { tmp = 149 - alpha; g = 255 - (tmp * 5); b = 255; } else b = 255; pixels[i] = Color.rgb(r, g, b); } } Any ideas why transparent pixels, and different alpha values not being shown? Regards -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en