2016-06-27 3 views
2

Ich habe eine App, die ein Bild aufnimmt, es einem Imageview zuweist und es dann auf einen Parse-Server hochlädt. Das Problem ist, dass ich die Bilder 200 x 200 px vor dem Upload brauche. Gibt es eine Möglichkeit, dies programmatisch zu tun? dies ist meine Funktion so weit:Android Studio: Wie skaliere ich ein Bild vor dem Hochladen auf den Server?

public void Myfunction(){ 


    //image 
    ImageView imageView = (ImageView) findViewById(R.id.imageView); 
    Bitmap bitmap = ((BitmapDrawable) imageView.getDrawable()).getBitmap(); 
    ByteArrayOutputStream baos = new ByteArrayOutputStream(); 
    bitmap.compress(Bitmap.CompressFormat.JPEG, 40, baos); 
    byte[] imageInByte = baos.toByteArray(); 
    ParseFile file = new ParseFile("myimage.jpg",imageInByte); 

Kann mir jemand bitte helfen?

+1

Durch die Art und Weise der Skalierung können Sie einen Fileoutputstream erhalten und komprimieren direkt zu Datei, keine Notwendigkeit, Nickerchen und ImageInByte zu verwenden –

Antwort

1

Um Bitmap, bevor Kompresse skalieren, fügen

bitmap = Bitmap.createScaledBitmap(bitmap, 200, 200, false)); 

Wenn Ihr Bitmap nicht quadratisch ist, können Sie es wahrscheinlich beschneiden wollen, bevor

Verwandte Themen