Android将若干图片拼接成长图

本文详细介绍了如何在Android平台上将多个图片拼接成长图的方法,包括使用Bitmap进行图像处理,创建Canvas画布,以及优化内存使用避免Out of Memory错误。通过实例代码展示了一种高效且实用的解决方案。
摘要由CSDN通过智能技术生成
/**
 * 拼接图片
 *
 * @param bitmaps 原图片集
 * @return  拼接后的新图
 */
public static Bitmap combineImage(Bitmap... bitmaps) {
    boolean isMultiWidth = false;//是否为多宽度图片集
    int width = 0;
    int height = 0;

    //获取图纸宽度
    for (Bitmap bitmap : bitmaps) {
        if (width != bitmap.getWidth()) {
            if (width != 0) {//过滤掉第一次不同
                isMultiWidth = true;
            }
            width = width < bitmap.getWidth() ? bitmap.getWidth() : width;
        }
    }

    //获取图纸高度
    for (Bitmap bitmap : bitmaps) {
        if (isMultiWidth) {
            height = height + bitmap.getHeight() * width / bitmap.getWidth();
        } else {
            height = height + bitmap.getHeight();
        }
    }

    //创建图纸
    Bitmap newBitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
    //创建画布,并绑定图纸
    Canvas canvas = new Canvas(newBitmap);
    int tempHeight = 0;
    //画图
    for (int i = 0; i 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值