gpt4 book ai didi

android - 用相机捕捉图像并在其上放置 ImageView ,如何?

转载 作者:太空狗 更新时间:2023-10-29 12:51:35 54 4
gpt4 key购买 nike

有什么办法吗?我遵循了本教程 ( http://marakana.com/forums/android/examples/39.html ),效果很好。此外,我将 FrameLayout(包含相机预览)放入带有 ImageView 的 RelativeLayout 中。

<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content" >



<FrameLayout
android:id="@+id/preview"
android:layout_width="330dp"
android:layout_height="233dp"
android:layout_marginTop="22dp"
android:layout_alignBottom="@+id/imageView1"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true" >
</FrameLayout>

<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/image_on_preview" />

</RelativeLayout>

现在启动应用程序,我有相机和 ImageView 。如果我将图片保存到 SD 卡,我只能得到用相机拍摄的照片,但不会出现 imageview(当然,为什么会出现)。现在我的问题是我怎样才能保存它呢?为了更好地理解,我在使用我的应用程序时截取了一个屏幕截图。

enter image description here

所以我想在一张照片中同时保存相机预览和 ImageView 。我不确定这是否可能,但如果我不必将照片保存到 SD 卡上,那将是最好的。稍后我会添加一个按钮“保存到 SD 卡”来保存它。

**更新

现在我想出了一个办法。我将图片保存在 SD 卡上,然后在创建文件时更改为另一个 Intent 。它包含两个 ImageView ,“image_on_preview”和另一个具有我之前保存图片的来源。好的,现在我只需要以某种方式变得棘手并将两个 ImageView 结合起来 :)

***更新2

好的,我做到了。在第二个 Activity 中,我将两个 ImageView 都转换为位图。然后我画一个 Canvas 并将它们放在一起,然后我可以将它直接保存到 SD 卡。

最佳答案

由于没有人回答而我解决了问题(并且有一票赞成)我展示了我自己的方法。

  1. 在第一个 Activity 中,有一个包含 FrameLayout 和 Imageview 的 RelativeLayout。就像所附图片一样。
  2. 我创建了一个按钮,用于捕获图像。当我按下那个按钮时,我将拍摄的照片保存到 SD 卡中并切换到 Activity 2。
  3. 在 activity2 中,我将保存的图像读入位图中(我立即缩放它以防止 OutOfMemory 错误),然后将它添加到 ImageView 中。就像在activity1中一样,我将另一个imageview(封面)和保存的照片放在相对布局中。
  4. 为了将它保存到 SD 卡,我需要创建一个 Canvas ,并使用 canvas.drawBitmap()。我首先绘制捕获的照片而不是 ImageView (封面),然后放置/缩放它们以使其看起来就像在 Activity 中一样。 Canvas 将绘制位图,您可以将其保存到 sd 卡中。5*(可以跳过)删除第一张图片。

希望这对某人有用:)

关于android - 用相机捕捉图像并在其上放置 ImageView ,如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11688360/

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