重新整理图片剪裁以便兼容后续视频封面更换
This commit is contained in:
@ -6,7 +6,6 @@ import android.graphics.Canvas;
|
||||
import android.graphics.Matrix;
|
||||
import android.graphics.RectF;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import androidx.appcompat.widget.AppCompatImageView;
|
||||
import android.util.AttributeSet;
|
||||
import android.view.GestureDetector;
|
||||
import android.view.GestureDetector.SimpleOnGestureListener;
|
||||
@ -17,6 +16,8 @@ import android.view.View;
|
||||
import android.view.View.OnTouchListener;
|
||||
import android.view.ViewTreeObserver;
|
||||
|
||||
import androidx.appcompat.widget.AppCompatImageView;
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
public class CropImageZoomView extends AppCompatImageView implements
|
||||
OnScaleGestureListener, OnTouchListener,
|
||||
@ -60,6 +61,10 @@ public class CropImageZoomView extends AppCompatImageView implements
|
||||
*/
|
||||
private int mVerticalPadding;// ——屏幕顶部离截图区的高度
|
||||
|
||||
private float mRatio = 1; // 宽高比
|
||||
|
||||
private int mWidth;
|
||||
|
||||
public CropImageZoomView(Context context) {
|
||||
this(context, null);
|
||||
}
|
||||
@ -290,8 +295,10 @@ public class CropImageZoomView extends AppCompatImageView implements
|
||||
Drawable d = getDrawable();
|
||||
if (d == null)
|
||||
return;
|
||||
|
||||
mWidth = getWidth() - 2 * mHorizontalPadding;
|
||||
// 垂直方向的边距
|
||||
mVerticalPadding = (getHeight() - (getWidth() - 2 * mHorizontalPadding)) / 2;
|
||||
mVerticalPadding = (getHeight() - (int) (mWidth * mRatio)) / 2;
|
||||
|
||||
int width = getWidth();
|
||||
int height = getHeight();
|
||||
@ -339,13 +346,16 @@ public class CropImageZoomView extends AppCompatImageView implements
|
||||
Bitmap.Config.ARGB_8888);
|
||||
Canvas canvas = new Canvas(bitmap);
|
||||
draw(canvas);
|
||||
return Bitmap.createBitmap(bitmap, mHorizontalPadding,
|
||||
mVerticalPadding, getWidth() - 2 * mHorizontalPadding,
|
||||
getWidth() - 2 * mHorizontalPadding);
|
||||
return Bitmap.createBitmap(bitmap,
|
||||
mHorizontalPadding,
|
||||
mVerticalPadding,
|
||||
mWidth,
|
||||
(getHeight() - mVerticalPadding * 2));
|
||||
}
|
||||
|
||||
public void setHorizontalPadding(int mHorizontalPadding) {
|
||||
public void setHorizontalPadding(int mHorizontalPadding, float ratio) {
|
||||
this.mHorizontalPadding = mHorizontalPadding;
|
||||
this.mRatio = ratio;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user