如何从图像中选择像素,并减少Android编程中该像素的不透明度

愿君学长松,慎勿作桃李。这篇文章主要讲述如何从图像中选择像素,并减少Android编程中该像素的不透明度相关的知识,希望能为你提供帮助。
【如何从图像中选择像素,并减少Android编程中该像素的不透明度】我想从在“图像视图”中显示的图像中选择一个像素,然后更改同一像素的不透明度,而不更改其余图像像素的不透明度。例如,我选择一个位置x = 50且y = 70的点,而我只想在该点改变不透明度,而不希望在其他地方改变不透明度。如何做到这一点?
答案这是我设法做的:

// Decode the bitmap resource and make sure it's mutable. BitmapFactory.Options opts = new BitmapFactory.Options(); opts.inMutable = true; Bitmap bm = BitmapFactory.decodeResource(getResources(), R.drawable.black, opts); imv.setImageBitmap(bm); imv.setOnTouchListener((v, event) -> { if (event.getAction() == MotionEvent.ACTION_DOWN) { int x = (int) event.getX(); int y = (int) event.getY(); // Get the color of the touched pixel and change only the alpha component. int color = bm.getPixel(x, y); int alpha = color > > > 24; alpha /= 2; // Alpha will be divided by two in the final color. color = color & 0xFFFFFF | alpha < < 24; // Change the pixel color on the bitmap and update the ImageView. bm.setPixel(x, y, color); imv.setImageBitmap(bm); imv.invalidate(); return true; } return false; });

比您所要求的要多,但我需要对其进行测试。单击ImageView时,单击的像素的不透明度(alpha)减半。
由于屏幕密度非常高,因此在大多数手机上几乎几乎无法察觉。

    推荐阅读