/**
* 压缩到 256kb
*
* @param bitmap
* @return
*/
private Bitmap ImageCompressL(Bitmap bitmap) {
double targetwidth = Math.sqrt(256 * 1024);
if (bitmap.getWidth() > targetwidth || bitmap.getHeight() > targetwidth) {
// 创建操作图片用的matrix对象
Matrix matrix = new Matrix();
// 计算宽高缩放率
double x = Math.max(targetwidth / bitmap.getWidth(), targetwidth
/ bitmap.getHeight());
// 缩放图片动作
matrix.postScale((float) x, (float) x);
bitmap = Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(),
bitmap.getHeight(), matrix, true);
}
return bitmap;
}
/** * 质量压缩方法 * * @param image * @return */ public static Bitmap compressImage(Bitmap image) { ByteArrayOutputStream baos = new ByteArrayOutputStream(); image.compress(Bitmap.CompressFormat.JPEG, 100, baos);// 质量压缩方法,这里100表示不压缩,把压缩后的数据存放到baos中 int options = 90; while (baos.toByteArray().length / 1024 > 100) { // 循环判断如果压缩后图片是否大于100kb,大于继续压缩 baos.reset(); // 重置baos即清空baos image.compress(Bitmap.CompressFormat.JPEG, options, baos);// 这里压缩options%,把压缩后的数据存放到baos中 options -= 10;// 每次都减少10 } ByteArrayInputStream isBm = new ByteArrayInputStream(baos.toByteArray());// 把压缩后的数据baos存放到ByteArrayInputStream中 return BitmapFactory.decodeStream(isBm, null, null); }
BluetoothAdapter myDevice = BluetoothAdapter.getDefaultAdapter();