【问题标题】:How to combine multiple images to make如何组合多张图片制作
【发布时间】:2017-03-29 19:14:19
【问题描述】:

我有水平方向和多个 ImageView 的线性布局。如何使用这些图像制作单个位图?

像这样:

如果图像超过 6 张,则剩余的图像进入下一行。 这个适用于水平:

       Bitmap[] parts = new Bitmap[4];
        Bitmap result = Bitmap.createBitmap(parts[0].getWidth() * 2, parts[0].getHeight() * 2, Bitmap.Config.ARGB_8888);
        Canvas canvas = new Canvas(result);
        Paint paint = new Paint();
        for (int i = 0; i < parts.length; i++) {
            canvas.drawBitmap(parts[i], parts[i].getWidth() * (i % 2), parts[i].getHeight() * (i / 2), paint);
        }

【问题讨论】:

  • 作业:展开代码来处理下一行。

标签: android android-bitmap


【解决方案1】:

你应该在下面的方法中使用LienarLayout

public static Bitmap loadBitmapFromView(View v) {
Bitmap b = Bitmap.createBitmap( v.getLayoutParams().width, v.getLayoutParams().height, Bitmap.Config.ARGB_8888);                
Canvas c = new Canvas(b);
v.layout(v.getLeft(), v.getTop(), v.getRight(), v.getBottom());
v.draw(c);
return b;
}

在上述方法中传递您的LienarLayout 对象以从视图中获取Bitmap

【讨论】:

  • 但 LL 具有水平方向。如果线性布局中的图像超过 6 个,则留在下一行。
  • 所以你需要把每一行的位图组合起来,然后再做一个位图。
猜你喜欢
  • 1970-01-01
  • 2022-01-19
  • 2016-03-31
  • 2016-04-16
  • 1970-01-01
  • 2017-09-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多