/** * 把bitmap转换成Base64编码String * * @param bitmap * @return */ public static String bitmapToString(Bitmap bitmap) { return Base64.encodeToString(bitmapToByte(bitmap), Base64.DEFAULT); }
public static Bitmap compressBitmap(String imageFile, boolean qualityCompress, long maxSize, int targetWidth, int targeHeight) { return compress(imageFile, null, false, qualityCompress, maxSize, targetWidth, targeHeight); }
/** * 质量压缩图片-压缩在1M以内 * * @param imageFile * @return */ public static Bitmap compressBitmap(String imageFile) { return compressBitmap(imageFile, true, (long) (1 * FileUtils.MB)); }
/** * 图片缩放-尺寸缩放 * * @param imageFile * @param targetWidth * @param targeHeight */ public static void compressImage(String imageFile, int targetWidth, int targeHeight) { compressImage(imageFile, null, false, 0L, targetWidth, targeHeight); }
bitmap = compressBitmap(bitmap, false, targetWidth, targeHeight); //等比缩放 if (qualityCompress) { bitmap = compressBitmap(bitmap, true, maxSize); //压缩质量 saveBitmap(bitmap, new File(savePath));//保存图片
/** * scale image * * @param org * @param newWidth * @param newHeight * @return */ public static Bitmap scaleImageTo(Bitmap org, int newWidth, int newHeight) { return scaleImage(org, (float) newWidth / org.getWidth(), (float) newHeight / org.getHeight()); }
private void savePhoto() { String photoPath = BitmapUtils.saveImageToGallery(getView(), ((BitmapDrawable) getView().getImageView().getDrawable()).getBitmap(), FilenameUtils.getName(getData().getUrl())); if (StringUtils.notBlankAndNull(photoPath)) SnackBarUtils.makeShort(getView().getToolbar(), "图片位置:" + photoPath).info(); else SnackBarUtils.makeShort(getView().getToolbar(), "保存失败").danger(); }
/** * 质量压缩图片-压缩在maxSize以内 * * @param imageFile * @param maxSize */ public static void compressImage(String imageFile, long maxSize) { compressImage(imageFile, true, maxSize); }
/** * 质量压缩图片 * * @param imageFile * @param qualityCompress * @param maxSize */ public static void compressImage(String imageFile, boolean qualityCompress, long maxSize) { compressImage(imageFile, null, qualityCompress, maxSize); }
/** * 质量压缩图片-压缩在maxSize以内 * * @param imageFile * @param maxSize * @return */ public static Bitmap compressBimap(String imageFile, long maxSize) { return compressBitmap(imageFile, true, maxSize); }
/** * 压缩某张图片(执行步骤sampleSize压缩->等比压缩->质量压缩) * * @param imageFile * @param targetFile 保存目标,为空表示源地址保存 * @param qualityCompress 是否做质量压缩 * @param maxSize 目标图片大小 * @param targetWidth * @param targeHeight */ public static void compressImage(String imageFile, String targetFile, boolean qualityCompress, long maxSize, int targetWidth, int targeHeight) { Bitmap bitmap = compress(imageFile, targetFile, true, qualityCompress, maxSize, targetWidth, targeHeight); bitmap.recycle(); }
/** * 质量压缩图片-压缩在1M以内 * * @param imageFile */ public static void compressImage(String imageFile) { compressImage(imageFile, true, (long) (1 * FileUtils.MB)); }
/** * 图片缩放-尺寸缩放 * * @param imageFile * @param targetWidth * @param targeHeight * @return */ public static Bitmap compressBitmap(String imageFile, int targetWidth, int targeHeight) { return compressBitmap(imageFile, false, 0L, targetWidth, targeHeight); }
public static void compressImage(String imageFile, boolean qualityCompress, long maxSize, int targetWidth, int targeHeight) { compressImage(imageFile, null, qualityCompress, maxSize, targetWidth, targeHeight); }
/** * 图片缩放-尺寸缩放 * * @param imageFile * @param scale 图片缩小倍速 * @return */ public static Bitmap compressBitmapSmall(String imageFile, int scale) { BitmapFactory.Options options = new BitmapFactory.Options(); options.inJustDecodeBounds = true; BitmapFactory.decodeFile(imageFile, options); int targetWidth = options.outWidth / scale; int targeHeight = options.outHeight / scale; return compressBitmap(imageFile, targetWidth, targeHeight); }
/** * 图片缩放-尺寸缩放 * * @param imageFile * @param scale 图片缩小倍速 */ public static void compressImageSmall(String imageFile, int scale) { BitmapFactory.Options options = new BitmapFactory.Options(); options.inJustDecodeBounds = true; BitmapFactory.decodeFile(imageFile, options); int targetWidth = options.outWidth / scale; int targeHeight = options.outHeight / scale; compressImage(imageFile, targetWidth, targeHeight); }
/** * 图片缩放-尺寸缩放 * * @param imageFile * @param scale 图片放大倍速 * @return */ public static Bitmap compressBitmapBig(String imageFile, int scale) { BitmapFactory.Options options = new BitmapFactory.Options(); options.inJustDecodeBounds = true; BitmapFactory.decodeFile(imageFile, options); int targetWidth = options.outWidth * scale; int targeHeight = options.outHeight * scale; return compressBitmap(imageFile, targetWidth, targeHeight); }
/** * 图片缩放-尺寸缩放 * * @param imageFile * @param scale 图片放大倍速 */ public static void compressImageBig(String imageFile, int scale) { BitmapFactory.Options options = new BitmapFactory.Options(); options.inJustDecodeBounds = true; BitmapFactory.decodeFile(imageFile, options); int targetWidth = options.outWidth * scale; int targeHeight = options.outHeight * scale; compressImage(imageFile, targetWidth, targeHeight); }
/** * 质量压缩图片 * * @param imageFile * @param qualityCompress * @param maxSize * @return */ public static Bitmap compressBitmap(String imageFile, boolean qualityCompress, long maxSize) { BitmapFactory.Options options = new BitmapFactory.Options(); options.inJustDecodeBounds = true; BitmapFactory.decodeFile(imageFile, options); int targetWidth = options.outWidth / 2; int targeHeight = options.outHeight / 2; return compressBitmap(imageFile, qualityCompress, maxSize, targetWidth, targeHeight); }
/** * 质量压缩图片 * * @param imageFile * @param targetFile * @param qualityCompress * @param maxSize */ public static void compressImage(String imageFile, String targetFile, boolean qualityCompress, long maxSize) { BitmapFactory.Options options = new BitmapFactory.Options(); options.inJustDecodeBounds = true; BitmapFactory.decodeFile(imageFile, options); int targetWidth = options.outWidth / 2; int targeHeight = options.outHeight / 2; compressImage(imageFile, targetFile, qualityCompress, maxSize, targetWidth, targeHeight); }