我如何压缩图像所以保存大图像我找到了代码但我在 R.drawable.my 中写了什么?
我的代码在这一行中保存捕获图像
//this line yourSelectedImage = (Bitmap) imageReturnedIntent.getExtras().get("data");
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent imageReturnedIntent) {
super.onActivityResult(requestCode, resultCode, imageReturnedIntent);
if (imageReturnedIntent.getExtras() != null) {
// here is the image from camera
yourSelectedImage = (Bitmap)
imageReturnedIntent.getExtras().get("data");
ByteArrayOutputStream outStr = new
ByteArrayOutputStream();
yourSelectedImage.compress(CompressFormat.JPEG, 100,
outStr);
blob = outStr.toByteArray();
imageView1.setImageBitmap(yourSelectedImage);
}
我找到了这段代码我如何在我的代码中调用它?我的代码在这个解码代码之上
image =decodeSampledBitmapFromResource(getResources(), R.drawable.my, 100, 100);
image.compress(Bitmap.CompressFormat.JPEG, 100, stream);
imageInByte = stream.toByteArray();
public static Bitmap decodeSampledBitmapFromResource(Resources res, int resId,
int reqWidth, int reqHeight) {
// First decode with inJustDecodeBounds=true to check dimensions
final BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
BitmapFactory.decodeResource(res, resId, options);
// Calculate inSampleSize
options.inSampleSize = calculateInSampleSize(options, reqWidth, reqHeight);
// Decode bitmap with inSampleSize set
options.inJustDecodeBounds = false;
return BitmapFactory.decodeResource(res, resId, options);
}
public static int calculateInSampleSize(
BitmapFactory.Options options, int reqWidth, int reqHeight) {
// Raw height and width of image
final int height = options.outHeight;
final int width = options.outWidth;
int inSampleSize = 1;
if (height > reqHeight || width > reqWidth) {
// Calculate ratios of height and width to requested height and width
final int heightRatio = Math.round((float) height / (float) reqHeight);
final int widthRatio = Math.round((float) width / (float) reqWidth);
// Choose the smallest ratio as inSampleSize value, this will guarantee
// a final image with both dimensions larger than or equal to the
// requested height and width.
inSampleSize = heightRatio < widthRatio ? heightRatio : widthRatio;
}
return inSampleSize;
}