گرفتن عکس از کاربر و کاهش حجم اون و ارسال عکس به سرور
سلام
بهترین شیوه برای گرفتن عکس از کاربر ( دوربین یا گالری ) و کراپ عکس و کاهش حجم اون و ارسال عکس به سرور ، چه شیوه ای هستش ؟
میخوام عکس چند مگی ، توی کلاینت بشه چند کیلو و بعد ارسال بشه ( عین تلگرام که کاهش حجم عکسش محشره )
ممنونم از شما دوستان عزیز
برای کاهش حجم تصاویر میتونید سورس تلگرام رو ببینید اما این سورس هم میتونه کارا باشه
طریقه استفاده :
Bitmap scaledBitmap = scaleDown(realImage, MAX_IMAGE_SIZE, true);
سورس اصلی :
public static Bitmap scaleDown(Bitmap realImage, float maxImageSize,
boolean filter) {
float ratio = Math.min(
(float) maxImageSize / realImage.getWidth(),
(float) maxImageSize / realImage.getHeight());
int width = Math.round((float) ratio * realImage.getWidth());
int height = Math.round((float) ratio * realImage.getHeight());
Bitmap newBitmap = Bitmap.createScaledBitmap(realImage, width,
height, filter);
return newBitmap;
}
برای کاهش حجم که دوستمون راه درستی رو مثال زدن. برای کراپ کردن پیشنهاد من استفاده از گالری یا کتابخانه های آمادست. برای کاهش حجم ارسال هم میتونید بیتمپ رو تبدیل به md5 کنید، یک استرینگ طولانی ازش در میاد که میتونید با زیپ کردنش ۱۰ ها برابر حجمش رو کم کنید. ولی یکم پروسس کلاینت رو بالا میبره و استفاده از کش وب سرویس یکم دردسر داره توی این روش. به طوری که شما برای آنزیپ کردن عکس ها باید اونارو روی اس دی کارت اکسترکت کنید و مدیریت فایل های اکسترکت شده و اینکه کی پاک شن که مموری کاربر پر نشه یه بحث جداست.
تاپیک بسته شده است و امکان درج و یا ویرایش پاسخ جدید و نظر وجود ندارد .