我可以减小从 firebase 带来的图像的大小吗?
Can I reduce the size of the image I bring from firebase?
从Firebase Storage导入图片,放入ImageView时出现图片不可见的问题
在我看来,原因是图片尺寸较大。
当我导入我保留的图像时,我认为我需要减小图像的尺寸。有解决办法吗?
这是我的代码。
part.orderByChild("Art_ID").equalTo(art_id).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
for (DataSnapshot asnap: snapshot.getChildren()){
Log.i("ValueArtinfo", asnap.getValue().toString());
String art_filename = asnap.child("Filename").getValue(String.class);
StorageReference sart = storage.getReferenceFromUrl("gs://myaddressxxx.com/Art/" + art_filename +".jpg");
// Bitmap bm = BitmapFactory.decodeFile(String.valueOf(sart));
// Bitmap bm = ShrinkBitmap(sart, 300, 300);
Glide.with(getApplicationContext() ).load(sart).into(str_art);
}
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
throw error.toException();
}
});
这是我的 Firebase 存储。可以看到,文件很大,数量大约1000
我尝试了以下解决方案但失败了。
http://android-coding.blogspot.com/2011/06/reduce-bitmap-size-using.html
也许您可以尝试加载缩略图,直到使用 Glide 在后台加载实际图像。
示例代码:
Glide.with(context).load("actual-url")
.placeholder(R.drawable.placeholder)
.thumbnail(0.3f) //Quality 0.1 - 1.0
.into(imageHolder);
是的,有一个 7 Mb 的图像,可以被认为是一个大尺寸图像。正如@GokulNathKP 在他的回答中提到的,您可以在加载更大的图像时显示缩略图,但这不会解决与图像大小相关的问题。
因此,您最好的选择是从一开始就上传较小尺寸的图片。您可以使用不同的库调整它们的大小,这样您就可以在最后存储一个合适大小的图像。这样,您可以更快地下载并减少支付费用。
从Firebase Storage导入图片,放入ImageView时出现图片不可见的问题
在我看来,原因是图片尺寸较大。
当我导入我保留的图像时,我认为我需要减小图像的尺寸。有解决办法吗?
这是我的代码。
part.orderByChild("Art_ID").equalTo(art_id).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
for (DataSnapshot asnap: snapshot.getChildren()){
Log.i("ValueArtinfo", asnap.getValue().toString());
String art_filename = asnap.child("Filename").getValue(String.class);
StorageReference sart = storage.getReferenceFromUrl("gs://myaddressxxx.com/Art/" + art_filename +".jpg");
// Bitmap bm = BitmapFactory.decodeFile(String.valueOf(sart));
// Bitmap bm = ShrinkBitmap(sart, 300, 300);
Glide.with(getApplicationContext() ).load(sart).into(str_art);
}
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
throw error.toException();
}
});
这是我的 Firebase 存储。可以看到,文件很大,数量大约1000
我尝试了以下解决方案但失败了。
http://android-coding.blogspot.com/2011/06/reduce-bitmap-size-using.html
也许您可以尝试加载缩略图,直到使用 Glide 在后台加载实际图像。
示例代码:
Glide.with(context).load("actual-url")
.placeholder(R.drawable.placeholder)
.thumbnail(0.3f) //Quality 0.1 - 1.0
.into(imageHolder);
是的,有一个 7 Mb 的图像,可以被认为是一个大尺寸图像。正如@GokulNathKP 在他的回答中提到的,您可以在加载更大的图像时显示缩略图,但这不会解决与图像大小相关的问题。
因此,您最好的选择是从一开始就上传较小尺寸的图片。您可以使用不同的库调整它们的大小,这样您就可以在最后存储一个合适大小的图像。这样,您可以更快地下载并减少支付费用。