Android的图像梯度 [英] android image gradient

查看:83
本文介绍了Android的图像梯度的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想创建上的图像的顶部的辉光的效果。在黑暗中它几乎工作,但明亮的图像,你可以看到像一个灰色的矩形,如下图所示:

I want to create a "glow" effect on top of an image. On dark it's almost working, but on bright images you can see a gray rectangle on image, as seen in below image:

下面是我的code:

    public static Bitmap drawModifiedImage(Bitmap bitmap) {
    Canvas bigCanvas = new Canvas(bitmap);
    Bitmap b = Bitmap.createBitmap(bitmap.getWidth(), 20, Bitmap.Config.ARGB_8888);
    Canvas c = new Canvas(b);
    c.drawColor(Color.TRANSPARENT);
    LinearGradient grad = new LinearGradient(bitmap.getWidth()/2, 0, bitmap.getWidth()/2, 20, Color.WHITE, Color.TRANSPARENT, Shader.TileMode.CLAMP);
    Paint p = new Paint();
    p.setStyle(Paint.Style.FILL);
    p.setShader(grad);
    c.drawRect(0, 0, bitmap.getWidth(), 20, p);
    bigCanvas.drawBitmap(bitmap, 0, 0, null);
    bigCanvas.drawBitmap(b,0,0, null);
    return bitmap;
}

我是什么做错了吗?

What am I doing wrong?

推荐答案

我已经找到了答案。相反Color.TRANSPARENT的,我用至0x00FFFFFF:

I've found the answer. Instead of Color.TRANSPARENT, I've used 0X00FFFFFF:

LinearGradient grad = new LinearGradient(bitmap.getWidth()/2, 0, bitmap.getWidth()/2, 20, Color.WHITE, 0X00FFFFFF, Shader.TileMode.CLAMP);

这篇关于Android的图像梯度的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆