愿君学长松,慎勿作桃李。这篇文章主要讲述如何从图像中选择像素,并减少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)减半。
由于屏幕密度非常高,因此在大多数手机上几乎几乎无法察觉。
推荐阅读
- Xamarin形式(Android和Windows平台上的HTML数据转换)
- 点击“部署均值开发堆栈”不会执行任何操作,Google App Engine
- 为什么Android Studio在编写代码时不再显示提示()
- [如何在Android Studio中存储用户选择的铃声( [关闭])
- 如何在google-apps-script上恢复已撤销的权限()
- 如何使用Automapper将更改映射到现有集合()
- 如何改变AppBar的阴影颜色()
- 元素将无法在Constraintlayout Android Studio中正确居中
- 检测Android导航栏方向