Android:动态地将多个drawable组合成一个?

时间:2014-09-17 22:25:18

标签: android android-drawable

假设我想创建一个应用程序,让用户可以选择衣服/物品创建头像,然后让其他用户看到这些“头像”。 那么这项工作的最佳方法是什么?我想把这些衣服/物品作为图像,然后保存用户头像数字说:4f6v31这将翻译成像:

4 = skin color.
f = face.
6 = shirt color.
v = pants color.
3 = shoes.
1 = hair.

然后,当用户收到这些“其他人保存的头像”中的5个时,它将通过将这些衣服/物品图像组合成一个可绘制物来加载所有5个头像。 这样的事情可能还是有更好的方法?

1 个答案:

答案 0 :(得分:1)

Create a new Bitmap Canvas适当大小,然后按照以下步骤操作:

  1. Load the lowest Drawable layer as a Bitmap
  2. 使用用户选择的颜色
  3. 创建PorterDuffColorFilter
  4. Paint the Bitmap to the output Canvas using the filter
  5. 重复下一个最低层
  6. 将每个图层绘制到画布后,将其写入BitmapDrawable并应用于ImageView