我创建了一个应用程序,该程序允许将随机渐变背景设置为设备墙纸。我想为用户提供向墙纸添加纹理的选项。我已经找到了在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...
在此先感谢大家:)
答案 0 :(得分:0)
我认为您应该手动绘制此类纹理。例如,您可以创建半透明的渐变着色器,并沿着两个对角线绘制多个矩形,并对每个矩形进行一些旋转和移动。