gpt4 book ai didi

android - 从相机捕获图像并在我们保存之前覆盖另一个位图

转载 作者:行者123 更新时间:2023-11-29 22:09:46 25 4
gpt4 key购买 nike

这里的 tempdata 是从相机拍摄的数据,savephoto(Bitmap) 是我用来保存从相机拍摄的图像的方法,它执行准确,,但是在 [2]我正在覆盖另一个位图,当我调用 savephoto(p)它正在存储卡中创建一个空文件...不保存任何图像。我怎样才能将两个位图叠加在一起

[1]File Imgname = Environment.getExternalStorageDirectory();
Bitmap bmp = BitmapFactory.decodeByteArray(tempdata,0,tempdata.length);
imv.setImageBitmap(bmp);
savePhoto(bmp);

[2]Bitmap bmp2 = BitmapFactory.decodeResource(getResources(),R.drawable.ic_launcher);
Bitmap b = Bitmap.createBitmap(bmp.getWidth(), bmp.getHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(b);
canvas.drawBitmap(bmp, 0,0, null);
canvas.drawBitmap(bmp2, 50, 50, null);
savePhoto(b);

任何帮助将不胜感激谢谢

最佳答案

在从相机获取位图(假设位图 1)并将位图覆盖在位图 1 之上(假设位图 2)之后,你可以这样做用您的位图调用此 overlayMark() 它将返回覆盖位图,即您需要的位图。你可以保存那个位图..

private Bitmap overlayMark(Bitmap bmp1, Bitmap bmp2)    { 
int bh = originalBitmap.getHeight();
int bw = originalBitmap.getWidth();
Bitmap bmOverlay = Bitmap.createBitmap(bw,bh,Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bmOverlay);
canvas.drawBitmap(bmp1, 0, 0, null);
canvas.drawBitmap(bmp2, 0,0, null);
return bmOverlay;
}

关于android - 从相机捕获图像并在我们保存之前覆盖另一个位图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9938801/

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