如何在 Java (Android) 中为位图添加纹理

How to add texture to bitmap in Java (Android)

我创建了一个允许生成随机渐变背景以设置为设备壁纸的应用程序。我想为用户提供向墙纸添加纹理的选项。我在 xml 中找到了执行此操作的方法,但在 Java 中找不到。

Display display = getWindowManager().getDefaultDisplay();
        Point size = new Point();
        display.getSize(size);
        int width = size.x;
        int height = size.y;

        Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
        Canvas canvas = new Canvas(bitmap);


        Shader shader = new LinearGradient(0, 0, width, height,
                    new int[]{colorsArray1, colorsArray2, colorsArray3}, null, Shader.TileMode.CLAMP);

        Paint paintGradient = new Paint(Paint.ANTI_ALIAS_FLAG);
        paintGradient.setShader(shader);
        canvas.drawRect(0, 0, width, height, paintGradient);

以上代码生成了一个位图,该位图是具有三种颜色的渐变。有没有办法给它添加纹理?有可能吗?

This is kinda what my goal is...

在此先感谢大家:)

我认为你应该手动绘制这样的纹理。例如,您可以创建半透明渐变着色器并沿两条对角线绘制多个矩形,并对每个矩形进行一些旋转和移动。