修复固定剪裁时的宽高比例不准确的BUG。
This commit is contained in:
@@ -767,11 +767,10 @@ public class BackgroundSettingsActivity extends WinBoLLActivity {
|
||||
|
||||
if (putUriFileToPreviewSource(selectedImage)) {
|
||||
LogUtils.d(TAG, "【选图同步】路径绑定完成");
|
||||
LinearLayout ll_maincontent = findViewById(R.id.ll_maincontent);
|
||||
ImageCropUtils.startImageCrop(BackgroundSettingsActivity.this,
|
||||
mBgSourceUtils.getPreviewBackgroundBean(),
|
||||
ll_maincontent.getWidth(),
|
||||
ll_maincontent.getHeight(),
|
||||
mBackgroundView.getWidth(),
|
||||
mBackgroundView.getHeight(),
|
||||
false,
|
||||
REQUEST_CROP_IMAGE
|
||||
);
|
||||
|
||||
@@ -68,6 +68,7 @@ public class ImageCropUtils {
|
||||
|
||||
// 3. 初始化 uCrop + 强制 PNG 配置(保留透明核心)
|
||||
UCrop uCrop = UCrop.of(inputUri, outputUri);
|
||||
uCrop.withAspectRatio(aspectX, aspectY);
|
||||
UCrop.Options options = initCropOptions(activity, isFreeCrop, aspectX, aspectY); // 移除 isPng 参数
|
||||
|
||||
// 4. 启动裁剪
|
||||
@@ -116,6 +117,7 @@ public class ImageCropUtils {
|
||||
|
||||
// 3. 初始化 uCrop + 强制 PNG 配置
|
||||
UCrop uCrop = UCrop.of(inputUri, outputUri);
|
||||
uCrop.withAspectRatio(aspectX, aspectY);
|
||||
UCrop.Options options = initCropOptions(activity, isFreeCrop, aspectX, aspectY); // 移除 isPng 参数
|
||||
|
||||
// 4. 启动裁剪
|
||||
@@ -220,10 +222,20 @@ public class ImageCropUtils {
|
||||
* 移除 isPng 参数,全程用 PNG 配置
|
||||
*/
|
||||
private static UCrop.Options initCropOptions(Activity activity, boolean isFreeCrop, int aspectX, int aspectY) {
|
||||
|
||||
UCrop.Options options = new UCrop.Options();
|
||||
|
||||
// 1. 裁剪模式配置
|
||||
options.setFreeStyleCropEnabled(isFreeCrop);
|
||||
// 裁剪模式配置(自由裁剪/固定比例)
|
||||
options.setFreeStyleCropEnabled(isFreeCrop); // 开启自由裁剪
|
||||
|
||||
// 裁剪配置(优化体验)
|
||||
//options.setCompressionFormat(android.graphics.Bitmap.CompressFormat.JPEG); // 输出格式
|
||||
//options.setCompressionQuality(100); // 图片质量
|
||||
//options.setHideBottomControls(true); // 隐藏底部控制栏(简化界面)
|
||||
//options.setToolbarTitle("图片裁剪"); // 工具栏标题
|
||||
//options.setToolbarColor(activity.getResources().getColor(R.color.colorPrimary)); // 工具栏颜色(适配项目主题)
|
||||
//options.setStatusBarColor(activity.getResources().getColor(R.color.colorPrimaryDark)); // 状态栏颜色
|
||||
|
||||
|
||||
// 2. 核心:强制 PNG 保留透明(固定配置,无需判断原图格式)
|
||||
options.setCompressionFormat(FORCE_COMPRESS_FORMAT); // 强制 PNG 压缩
|
||||
|
||||
Reference in New Issue
Block a user