Как сделать сжатие изображения
Я создаю приложение для Android, где я получаю все изображения из галереи для отображения в виде сетки в моей деятельности. Я также отображаю флажки вместе с изображениями, чтобы пользователь мог выбрать несколько изображений и загрузить их на сервер. чтобы загрузить его на сервер, который я использую
и вызывающая функция для этого класса
UploadToServer upload=new UploadToServer();
public void uploadImage(View v){
progressDialog = ProgressDialog.show(MultiPhotoSelectActivity.this, "", "Uploading files to server.....", false);
Thread thread=new Thread(new Runnable(){
public void run(){
for( int i=0;i<selectedItems.size();i++)
{
doFileUpload(selectedItems.get(i));
runOnUiThread(new Runnable(){
public void run() {
if(progressDialog.isShowing())
progressDialog.dismiss();
}
});
}
}
});
thread.start();
}
private void doFileUpload(String imagepath) {
// TODO Auto-generated method stub
try{
upload.uploadFile(imagepath);
}
catch(Exception e){
Log.e("log_tag", "Error in http connection "+e.toString());
}
}
Я хочу поставить код сжатия для изображений, так как пользователь собирается выбрать несколько изображений... Может кто-нибудь предложить, какой код сжатия использовать и где его разместить? Я очень новичок в разработке приложений для Android, и я никогда не использовал код сжатия изображений раньше... Пожалуйста, предложите, где я могу поместить код сжатия для изображений в моем приложении???
Пожалуйста помоги!
Заранее спасибо!
2 ответа
Используя метод сжатия растрового изображения:
bm.compress(Bitmap.CompressFormat.JPEG,
compressQuality, bos);
где bos - это объект ByteArrayOutputStream.