答案 0 :(得分:2)
Bitmap
标题的宽度和高度创建一个空的NavigationView
。 Bitmap
张图片,然后在Canvas
上将它们缩放到彼此旁边。您始终从0
绘制到scaledBitmap.getWidth()
,然后scaledBitmap.getWidth()
应保存为下一个Bitmap
的下一个起点。对高度执行相同的逻辑。将您要绘制的Bitmap
的数量限制为某个数字,以便记忆和放大表现原因。 Matrix
的{{1}}并将其旋转一定程度ImageView
应用于整个标题视图。这也可以旋转一个drawable。
答案 1 :(得分:0)
按照@Nikola的步骤回答:
public static Bitmap createBitmap(int width, int height, List<Bitmap> bitmaps) {
final Bitmap newBitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
final Canvas canvas = new Canvas(newBitmap);
final Paint paint = new Paint();
paint.setAlpha(50);
int currentWidth = 0;
int currentHeight = 0;
for (Bitmap scaledBitmap : bitmaps) {
//draw the bitmap
canvas.drawBitmap(scaledBitmap, currentWidth, currentHeight, paint);
//update width
currentWidth += scaledBitmap.getWidth();
//update height
if (currentWidth > width) {
currentWidth = 0;
currentHeight += scaledBitmap.getHeight();
}
}
return newBitmap;
}
主要区别在于我最终设置了透明度(使用setAlpha),而不是ColorFilter。
如果最后你还想旋转,只需在将保存位图的imageview中调用imageView.setRotation(度)。
干杯