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

Posted

技术标签:

【中文标题】Edmodo android图像裁剪器,修复纵横比【英文标题】:Edmodo android image cropper, fix aspect ratio 【发布时间】:2014-12-11 15:23:45 【问题描述】:

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

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_
android:layout_ >

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

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

<ImageView
    android:id="@+id/footer"
    android:layout_
    android:layout_
    android:layout_alignParentBottom="true"
    android:src="@drawable/footer" />

<TextView
    android:id="@+id/current_picture"
    android:layout_
    android:layout_
    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);

我有后续问题:

使用此代码,裁剪为屏幕高的条纹 如果我删除固定的纵横比,我的纵横比将被忽略,我得到一个矩形裁剪。 那么,如何强制裁剪为正方形?

【问题讨论】:

Checkout Android-Image-Cropper,与 edmodo 相比有很多改进。 【参考方案1】:

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

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

【讨论】:

如果它解决了您的问题,请接受答案:)【参考方案2】:

这个问题是个bug,现在你可以使用新版本了,这个问题已经修复了。 新版本是 2.0.0,遗憾的是在cropper wiki 上没有提及。

【讨论】:

以上是关于Edmodo android图像裁剪器,修复纵横比的主要内容,如果未能解决你的问题,请参考以下文章

使用纵横比和空白区域裁剪图像

Android,如何裁剪修复图像视图[重复]

给定图像和纵横比的最大裁剪区域

在不影响纵横比的情况下裁剪图像

css裁剪图像保存纵横比

调整图像大小并裁剪为新的纵横比