Я сделал социальное приложение для обмена изображениями и видео. Однако он занимает слишком много времени для загрузки изображения. Я использую библиотеку скольжения. Пожалуйста, расскажите мне, как уменьшить размер изображения, взятого из галереи, без значительное изменение качества изображения (например, Instagram do), а затем загрузить его в хранилище firebase. Пожалуйста, помогите!Как уменьшить размер изображения перед загрузкой его в хранилище firebase?
ответ
Я сделал то же самое для загрузки изображения на firebase с помощью bitmap.compress
private void postDataToFirebase() {
mProgressDialog.setMessage("Posting the Blog to Firebase");
mProgressDialog.setCancelable(false);
final String titleValue = mPostTitle.getText().toString();
final String description = mPostDescription.getText().toString();
if((!TextUtils.isEmpty(titleValue))&& (!TextUtils.isEmpty(description)) && bitmap != null)
{
mProgressDialog.show();
StorageReference filePath = mStorage.child("Blog_Images").child(imagePathName);
ByteArrayOutputStream bytes = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 20, bytes);
String path = MediaStore.Images.Media.insertImage(PostActivity.this.getContentResolver(), bitmap, imagePathName, null);
Uri uri = Uri.parse(path);
filePath.putFile(uri).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
Uri downloadUrl = taskSnapshot.getDownloadUrl();
DatabaseReference newPost = mDatabaseReference.push();
newPost.child("Title").setValue(titleValue);
newPost.child("Desc").setValue(description);
newPost.child("imageUrl").setValue(downloadUrl.toString());
Toast.makeText(PostActivity.this, "Data Posted Successfully to Firebase server", Toast.LENGTH_LONG).show();
mProgressDialog.dismiss();
Intent intent = new Intent(PostActivity.this, MainActivity.class);
startActivity(intent);
}
});
}
}
bitmap.compress (формат Bitmap.CompressFormat, качество ИНТ OutputStream поток)
вы можете изменить качество растрового изображения и сжать его.
Каково ваше изображениеPathName? –
StorageReference childRef2 = your firebase storage path
storageRef.child(UserDetails.username+"profilepic.jpg");
Bitmap bmp = MediaStore.Images.Media.getBitmap(getContentResolver(), filePath);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bmp.compress(Bitmap.CompressFormat.JPEG, 25, baos);
byte[] data = baos.toByteArray();
//uploading the image
UploadTask uploadTask2 = childRef2.putBytes(data);
uploadTask2.addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
pd.dismiss();
Toast.makeText(Profilepic.this, "Upload successful", Toast.LENGTH_LONG).show();
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
pd.dismiss();
Toast.makeText(Profilepic.this, "Upload Failed -> " + e, Toast.LENGTH_LONG).show();
}
});`
просто идти вперед и делать выше шаги это позволит уменьшить размер изображения и загрузить его на firebase это уменьшить размер изображения ДО 1 до 2 Мб как на мой файл опыт 4MB стал 304Кб.
filepath
есть и File
объект выбранного вами изображения. :)
большое спасибо ,,, безупречно работаю для меня тоже .. почему нет upvote для этого ответ ...... + 10 – Mariyappan
- 1. Сжатие изображения перед загрузкой его в хранилище Firebase
- 2. Изменение размера изображения перед его загрузкой в firebase
- 3. Уменьшить размер фотографии перед загрузкой
- 4. Как изменить размер изображения перед его загрузкой?
- 5. Как уменьшить размер файла изображения перед загрузкой на сервер
- 6. Как изменить размер изображения перед загрузкой его на iphone
- 7. Изменить размер изображения перед загрузкой
- 8. Уменьшить размер изображения перед загрузкой на сервер Java android
- 9. Получить размер изображения перед загрузкой
- 10. Как уменьшить размер базы данных в firebase?
- 11. Как изменить размер изображения и просмотреть его перед загрузкой
- 12. получить размер изображения перед загрузкой изображения php
- 13. Как получить размер файла перед его загрузкой?
- 14. Как узнать размер файла перед его загрузкой?
- 15. Уменьшить размер фото в Android перед загрузкой на сервер
- 16. Как определить размер и размер изображения перед загрузкой изображения
- 17. Как проверить размер изображения перед загрузкой?
- 18. Как изменить размер изображения перед загрузкой
- 19. Как проверить размер изображения перед загрузкой?
- 20. Изменение размера изображения перед загрузкой в vb
- 21. Как уменьшить размер изображения
- 22. Как определить тип изображения перед его загрузкой?
- 23. Изменить размер изображения с холстом перед загрузкой
- 24. Android ImageView- уменьшить размер изображения
- 25. изменить размер изображения перед загрузкой javascript
- 26. Изменить размер изображения на клиенте перед загрузкой
- 27. Проверьте размеры и размер изображения перед загрузкой
- 28. Django: изменить размер изображения перед загрузкой
- 29. Как уменьшить размер изображения?
- 30. PHP изменить размер перед загрузкой
'значительное изменение качества изображения (например, Instagram do)', как легко вы сказали, что, когда instagram имеет ультрасовременные алгоритмы сжатия в реальном времени и лучшие разработчики. В любом случае, вот что вам нужно: http://stackoverflow.com/questions/36487971/how-to-compress-bitmap-as-jpeg-with-least-quality-loss-on-android – OBX
напишите свой код здесь –
Это звучит как проблема, которая, должно быть, была решена раньше. Вы что-нибудь пробовали? Они выглядят многообещающе: http://stackoverflow.com/search?q=%5Bandroid%5D+How+to+reduce+the+size+of+image –