我想从图库中选择图片并将其发送到第二个 Activity ,但图片太大。
我需要调整它的大小,但我不知道该怎么做:
buttonIntent.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("image/*");
startActivityForResult(Intent.createChooser(intent, "Select Picture"), REQUEST_GALLERY);
结果方法
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_GALLERY && resultCode == RESULT_OK) {
Uri uri = data.getData();
try {
bitmap = Media.getBitmap(this.getContentResolver(), uri);
imageView1.setImageBitmap(bitmap);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
btnok.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent i=new Intent(Showpic_resumeActivity.this,Showdata_result_resume.class);
ByteArrayOutputStream bs = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG, 50, bs);
i.putExtra("byteArray", bs.toByteArray());
startActivity(i);
}
});
第二个 Activity
if (getIntent().hasExtra("byteArray")) {
Bitmap b = BitmapFactory.decodeByteArray(
getIntent().getByteArrayExtra("byteArray"), 0, getIntent()
.getByteArrayExtra("byteArray").length);
image_resume.setImageBitmap(b);
}
最佳答案
将位图
从一个 Activity 传递到另一个 Activity 是风险
。最好的方法是只传递 Uri
,而不是将位图从第一个 Activity 传递到第二个 Activity ,然后在需要时将 Uri 转换为位图。
关于android - 如何调整图库中图像的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19786851/