1
我想在将图片上传到Firebase存储之前调整大小。Android Firebase调整图片大小并上传到Firebase存储
我的问题是:FireBase上传基于它的Uri的图像。 我从画廊的意图得到了图像,并把它放在ImageView
和调整它的大小是这样的:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent returnIntentData) {
super.onActivityResult(requestCode, resultCode, returnIntentData);
switch(requestCode) {
case RC_SELECT_PHOTO:
if (resultCode == RESULT_OK) {
mImageUri = returnIntentData.getData();
mSelectedImage.setImageURI(mImageUri);
//get a Image obj from ImageView
Bitmap bit = ((BitmapDrawable) mSelectedImage.getDrawable()).getBitmap();
int width = bit.getWidth();
int height = bit.getHeight();
float rate = 0.0f;
int maxResolution = 1920;
int newWidth = width;
int newHeight = height;
if(width > height) {
if(maxResolution < width) {
rate = maxResolution/ (float) width;
newHeight = (int) (height * rate);
newWidth = maxResolution;
}
} else {
if(maxResolution < height) {
rate = maxResolution/(float)height;
newWidth = (int) (width * rate);
newHeight = maxResolution;
}
}
Bitmap resizedImage = Bitmap.createScaledBitmap(bit, newWidth, newHeight, true);
mSelectedImage.setImageBitmap(resizedImage);
}
和火力上传底座上的开放的我们像这样(如果有其他的方式来上传文件,它会如此有用):
public void uploadPhotoToStorage() {
//present image's Ref
StorageReference presentGymPhotoRef =
mGymStorageReferences.child(mImageUri.getLastPathSegment());
//Upload file to Firebase Storage
presentGymPhotoRef.putFile(mImageUri)
.addOnSuccessListener(this, new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
Uri downloadUri = taskSnapshot.getDownloadUrl();
//save gymPhoto Uri to instance
gymPhotoUri = downloadUri.toString();
gymName = mEditGymName.getText().toString();
.......
有没有什么办法让Bitmap
的URI或ImageView
的URI?或者只是调整大小并成功上传?
我是新毕加索,所以我d喜欢知道如何从ViewHolder的ImageView中获取图像的Uri。 我明白,毕加索将调整图像大小,但我需要特定的Uri,这是调整大小的Imageview。和我知道如何访问SD卡上的原始图像文件或从Uri加载图像但我不知道如何使Uri是调整大小的图像。 – Jarvis
对不起,我刚刚收到此消息。为什么你需要调整图像大小?毕加索允许您显示调整大小的图像,但是您是否需要存储具有特定大小的图像? – Anthony
,因为我需要将图像上传到服务器(firebase存储) 我相信毕加索只显示图像是不是?如果毕加索可以调整(或压缩)源自身,这将会有所帮助。 – Jarvis