Как добавить текстуру в растровое изображение в Java (Android) - PullRequest
0 голосов
/ 29 января 2019

Я создал приложение, которое позволяет генерировать случайный градиентный фон для установки в качестве обоев устройства.Я хотел бы дать пользователю возможность добавлять текстуры на обои.Я нашел способ сделать это в 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);

Приведенный выше код генерирует растровое изображение, представляющее собой градиент с тремя цветами.Есть ли способ добавить текстуры к нему?Это вообще возможно?

Это моя цель ...

Заранее спасибо, ребята:)

1 Ответ

0 голосов
/ 29 января 2019

Я думаю, вы должны нарисовать такие текстуры вручную.Например, вы можете создать полупрозрачный градиентный шейдер и нарисовать несколько прямоугольников вдоль обеих диагоналей с некоторым поворотом и смещением для каждого прямоугольника.

...