【问题标题】:How to move ImageView over camera?如何在相机上移动 ImageView?
【发布时间】:2013-08-08 06:24:39
【问题描述】:

有没有办法让图像视图可以在相机上移动?我希望能够在顶部的 imageview 上拍照。

谢谢!!

【问题讨论】:

    标签: android android-camera android-imageview


    【解决方案1】:

    是的,你需要做的就是

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center" >
    
    <!--Add your surface view to this frame layout  -->
    <FrameLayout
        android:id="@+id/camera_preview"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >
    </FrameLayout>
    <ImageButton
        android:id="@+id/button_capture"
        android:src="@drawable/camera" />    
    

    图像按钮或任何其他视图将显示在显示相机框架的表面视图所在的框架布局的顶部。要移动图像,您可以执行类似的操作

    void onTouch(Event event){
    
     params.leftMargin = (int)event.getX(); 
     params.topMargin = (int)event.getY();
     imagebutton.setLayoutParams(params);
    }
    

    【讨论】:

      【解决方案2】:

      实际上,您似乎想要制作合成图像。您可以使用其他答案中描述的方法进行预览,但是当您实际拍摄照片时,您需要将图像插入到拍摄的照片中。不要忘记拍摄的图片尺寸可能会大于预览图,因此您可能需要更改插入的图片尺寸/位置以匹配。

      【讨论】:

      • 谢谢!但是如何更改图片的大小和位置以匹配预览?
      • 如果您知道预览的大小和最终图片的大小,您可以计算一个标量并将您的图像大小和位置乘以它。双倍比例 = finalPictureWidth / previewWidth; previewOverlayWidth = finalPictureOverLayWidth * 比例; previewOverlayXPos = finalPictureOverlayXPos * 比例; ..然后对高度做同样的事情,你就有了预览的缩放覆盖位置和大小..
      猜你喜欢
      • 2015-01-04
      • 1970-01-01
      • 2014-01-04
      • 1970-01-01
      • 1970-01-01
      • 2018-03-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多