gpt4 book ai didi

android - 合并两个图像(一个图像是透明的,没有脸,第二个图像只有来自 sdcard 的脸)

转载 作者:行者123 更新时间:2023-11-30 03:38:51 25 4
gpt4 key购买 nike

我有两张图片,一张图片包含没有脸的 body ,另一张图片只包含脸...

现在我想合并这两张图片....第一张只包含 body 而没有脸的图片是因为脸是透明的......

那么我怎样才能检测到透明区域并将人脸放在透明区域中呢?

我用下面的代码组合了两张图片..但是把脸放在透明区域上不是正确的方法

我的代码如下,

public Bitmap combineImages(Bitmap c, Bitmap s) {
Bitmap cs = null;

int width, height = 0;

if (c.getWidth() > s.getWidth()) {
width = c.getWidth() + s.getWidth();
height = c.getHeight();
} else {
width = s.getWidth() + s.getWidth();
height = c.getHeight();
}

cs = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);

Canvas comboImage = new Canvas(cs);

comboImage.drawBitmap(c, 0f, 0f, null);
comboImage.drawBitmap(s, 0f, 0f, null);

return cs;
}

最佳答案

使用 Canvas 在 android 中合并两个或多个图像,使用下面的代码很容易合并图像,首先为要合并的特定图像创建位图。

获取要合并图像的区域的 X 和 Y 轴位置。

    mComboImage = new Canvas(mBackground);

mComboImage.drawBitmap(c, x-axis position in f, y-axis position in f, null);

mComboImage.drawBitmap(c, 0f, 0f, null);
mComboImage.drawBitmap(s, 200f, 200f, null);


mBitmapDrawable = new BitmapDrawable(mBackground);
Bitmap mNewSaving = ((BitmapDrawable)mBitmapDrawable).getBitmap();

在 imageview 中设置这个新的位图。imageView.setImageBitmap(mNewSaving);

在此方法中,两个图像位图合并为一个位图,返回新合并图像的位图。同时将此图像保存在 sdcard 上。如下代码

public Bitmap combineImages(Bitmap c, Bitmap s) {
Bitmap cs = null;

int width, height = 0;

if(c.getWidth() > s.getWidth()) {
width = c.getWidth();
height = c.getHeight() + s.getHeight();
} else {
width = s.getWidth();
height = c.getHeight() + s.getHeight();
}

cs = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);

Canvas comboImage = new Canvas(cs);
comboImage.drawBitmap(c, new Matrix(), null);
comboImage.drawBitmap(s, new Matrix(), null);

// this is an extra bit I added, just incase you want to save the new image somewhere and then return the location.

return cs;
}
}

关于android - 合并两个图像(一个图像是透明的,没有脸,第二个图像只有来自 sdcard 的脸),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16161657/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com