gpt4 book ai didi

Android - 位图上的 setColorFilter 不起作用

转载 作者:行者123 更新时间:2023-11-29 00:37:39 27 4
gpt4 key购买 nike

为什么下面的代码没有对源位图mBitmap做任何改变? mBitmap 是一个灰度图像,我想对其应用滤色器。过滤器本身并不重要,但我对其应用的任何颜色过滤器都没有效果。绘制到屏幕上的是原始位图,就好像我没有对其应用滤镜一样。

我可以给它应用不同的滤色器,例如:

mPaint.setColorFilter(new LightingColorFilter(Color.RED, 100));

但是当我从颜色矩阵创建滤色器时,我什么也得不到。

我使用的是 Android 2.3。

我的代码:

float[] mat = new float[] {
1f, 0f, 0f, 0f, 1f,
2f, 0f, 2f, 1f, 0f,
1f, 1f, 0f, 0f, 0f,
0f, 0f, 0f, 1f, 0f,
2f, 0f, 0f, 0f, 1f };

ColorMatrix colorMatrix = new ColorMatrix(mat);
ColorMatrixColorFilter colorFilter = new ColorMatrixColorFilter(colorMatrix);

mPaint.setColorFilter(colorFilter);

mCanvas.drawColor(Color.TRANSPARENT, PorterDuff.Mode.CLEAR);
mCanvas.drawBitmap(mBitmap, 0, 0, mPaint);

最佳答案

很抱歉问这个问题。由于我缺乏理解,它的格式很差。据我所知,上面的 ColorMatrix 实际上什么都不做

简而言之,我最初的问题源于我试图对灰度图像进行色调调整这一事实。事实证明:对灰度图像进行色调调整没有任何意义,因此我没有看到任何变化。

困惑来自这个(优秀的)问题:

Understanding the Use of ColorMatrix and ColorMatrixColorFilter to Modify a Drawable's Hue

我假设提问者只是像他最初问的那样对灰度图像进行色调调整。现在我知道他一定是在对一些以前着色的图像进行色调调整。

嗯嗯。最好的学习形式来自于被迫真正思考你正在尝试做什么!

关于Android - 位图上的 setColorFilter 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11596243/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com