android - Edmodo android 图像裁剪器,修复纵横比

标签 android crop

我在 android lollipop 上使用 edmodo/cropper 库时遇到一些问题。 我的应用程序应该拍摄一些照片,并且在拍摄每张照片后,用户应该裁剪一个方形图像。 这是我的布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<com.example.newapicamera.AutoFitTextureView
    android:id="@+id/texture"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@+id/footer" />

<com.edmodo.cropper.CropImageView
    xmlns:custom="http://schemas.android.com/apk/res-auto"
    android:id="@+id/CropImageView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@+id/footer"
    android:visibility="invisible" />

<ImageView
    android:id="@+id/footer"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:src="@drawable/footer" />

<TextView
    android:id="@+id/current_picture"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:textColor="#FFFFFF"
    android:textSize="30sp" />

这就是我在拍照后启动裁剪库的方式;

crop_view.setImageBitmap(bitmap);
mCameraDevice.close();
mTextureView.setVisibility(View.INVISIBLE);
crop_view.setVisibility(View.VISIBLE);
DisplayMetrics displayMetrics = getResources().getDisplayMetrics();
int dpWidth = displayMetrics.widthPixels;
crop_view.setFixedAspectRatio(true);
crop_view.setAspectRatio(dpWidth, dpWidth);

我有后续问题:

  • 使用这段代码,裁剪是一个与屏幕一样高的条纹
  • 如果我删除固定纵横比,我的纵横比将被忽略,我得到一个矩形裁剪。 那么,我该怎么做才能强制裁剪到正方形?

最佳答案

我遇到了同样的问题,下面的解决方案对我有用:

cropImageView.setFixedAspectRatio(true);
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
    @Override
    public void run() {
        cropImageView.setAspectRatio(7, 7);
    }
}, 500);

关于android - Edmodo android 图像裁剪器,修复纵横比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27426305/

相关文章:

android - 使用 1 :1 aspect ratio on Android 捕获视频

php - 将图片调整/裁剪/填充到固定大小

image - PrimeFaces imageCropper 不显示可选区域

android - 将新列表添加到 listView

java - 从 ListView 中删除元素(滑动或单击)

android - 我想做一个法典应用程序

video - ffmpeg - 偏移视频的裁剪部分

jquery - jquery 中裁剪\缩放工具的几何计算

android - 如何在 Android 应用程序的发布版本中删除 Log.d() 调用?

android - react native : how to change view on onPress event