Path 在android中使用路径重复平铺图像
我想使用一个仅在水平方向上平铺的位图,是否有任何方法可以做到这一点,使其仅在X上展开,就像CSS上的重复X一样。我使用下面的代码,但位图平铺水平和垂直。首先,我为drawPath()创建了四个绘制对象。然后我创建了四个路径对象来绘制矩形框架,我想用路径重复图像Path 在android中使用路径重复平铺图像,path,shader,paint,bitmapdrawable,Path,Shader,Paint,Bitmapdrawable,我想使用一个仅在水平方向上平铺的位图,是否有任何方法可以做到这一点,使其仅在X上展开,就像CSS上的重复X一样。我使用下面的代码,但位图平铺水平和垂直。首先,我为drawPath()创建了四个绘制对象。然后我创建了四个路径对象来绘制矩形框架,我想用路径重复图像 Paint wallpaint = new Paint(); Shader mShader1 = new BitmapShader(rotated_bitmap_180,
Paint wallpaint = new Paint();
Shader mShader1 = new BitmapShader(rotated_bitmap_180,
Shader.TileMode.REPEAT, Shader.TileMode.REPEAT);
wallpaint.setShader(mShader1);
Paint wallpaint1 = new Paint();
mShader1 = new BitmapShader(rotated_bitmap_bottom,
Shader.TileMode.REPEAT, Shader.TileMode.REPEAT);
wallpaint1.setShader(mShader1);
Paint wallpaint3 = new Paint();
mShader1 = new BitmapShader(rotated_bitmap_90, Shader.TileMode.REPEAT,
Shader.TileMode.REPEAT);
wallpaint3.setShader(mShader1);
wallpaint3.setStrokeWidth((int) frameWidth);
Paint wallpaint2 = new Paint();
mShader1 = new BitmapShader(rotated_bitmap_270, Shader.TileMode.REPEAT,
Shader.TileMode.REPEAT);
wallpaint2.setShader(mShader1);
Path wallpath1 = new Path();
wallpath1.moveTo(0, 0);
wallpath1.lineTo((float) frame_area_width, 0); // used for first point
wallpath1.lineTo((float) (frame_area_width - (frameWidth * ppi)), (float)
(frameWidth * ppi));
wallpath1.lineTo((float) (frameWidth * ppi), (float) (frameWidth*ppi));
wallpath1.close();
Path wallpath2 = new Path();
wallpath2.moveTo(0, (float) frame_area_height);
wallpath2.lineTo((float) (frameWidth * ppi), (float) (frame_area_height -
(frameWidth * ppi))); // used for first point
wallpath2.lineTo((float) (frame_area_width - (frameWidth * ppi)), (float)
(frame_area_height - (frameWidth * ppi)));
wallpath2.lineTo((float) frame_area_width, (float) frame_area_height);
wallpath2.close();
Path wallpath3 = new Path();
wallpath3.moveTo(0, 0);
wallpath3.lineTo((float) (frameWidth * ppi), (float) (frameWidth * ppi));
wallpath3.lineTo((float) (frameWidth * ppi), (float) (frame_area_height -
(frameWidth * ppi)));
wallpath3.lineTo(0, (float) frame_area_height);
wallpath3.close();
Path wallpath4 = new Path();
wallpath4.moveTo((float) (frame_area_width - (frameWidth * ppi)), (float)
(frameWidth * ppi));
wallpath4.lineTo((float) frame_area_width, 0); // used for first point
wallpath4.lineTo((float) frame_area_width, (float) frame_area_height);
wallpath4.lineTo((float) (frame_area_width - (frameWidth * ppi)), (float)
(frame_area_height - (frameWidth * ppi)));
wallpath4.close();
canvas.drawPath(wallpath1, wallpaint);
canvas.drawPath(wallpath2, wallpaint1);
canvas.drawPath(wallpath3, wallpaint2);
canvas.drawPath(wallpath4, wallpaint3);
请帮助我想要的人创建像图片一样的框架,我已经附加了链接。请检查我添加的代码。我在安卓系统方面没有太多的经验。如果有人能给我上述问题的答案,请帮助我