2016-07-21 48 views
2

Wie ich zu diesem Thema in Google gesucht 1.Was unterscheidet inampleSize und compress in Android-Webview?

BitmapFactory.Options options = new BitmapFactory.Options(); 
      options.inPreferredConfig = Bitmap.Config.ARGB_8888; 
      options.inSampleSize = 3; 
      if (bitmap == null) { 
       bitmap = BitmapFactory.decodeFile(filePath, options); 
      } 

Es bedeutet, dass die Datei Pixel wie 1000 * 1000-300 * 300 reduziert wird. > 800kb - und

2.

bitmap.compress(CompressFormat.JPEG, 80, bos); 

Es bedeutet, die Größe (Dateivolumen) wird wie 1000KB reduziert.

Ist es richtig? Weil ... wenn ich einige Bilder hochlade, konnte ich die Datei nicht hochladen, wenn die Datei groß ist. (Ich überprüfte das Aktenvolumen wird durch 2. Weise, nicht 1. Weise reduziert)

so versuche ich 1. Weise aber auch scheitern. aber wenn ich 2. Weg versuche, habe ich Erfolg !!

Also das ist der Grund, warum ich diese Frage stelle.

C.f> Wenn ich Bitmap beschnitten, wird die Bitmap geändert ???

Bitmap croppedBitmap = null; 
     if (i!=cnt) { 
      if ((croppedStart + pageHeight) > webview.getMeasuredHeight()) { 
       int lastHeight = webview.getMeasuredHeight() - croppedStart; 
       croppedBitmap = Bitmap.createBitmap(bitmap, 0, croppedStart, webview.getMeasuredWidth(),lastHeight-1); 
      } else { 
       try{ 
       croppedBitmap = Bitmap.createBitmap(bitmap, 0, croppedStart, webview.getMeasuredWidth(), pageHeight); 
       }catch(Exception e){ 
        e.printStackTrace(); 
       } 
      } 
      croppedStart += pageHeight; 
      rtn.add(croppedBitmap); 
     } 

Nachdem ich dies getan habe, wird meine Bitmap (Original) fullBtimap zu Letzte croppedBitmap geändert. auch Danke!

Antwort

1

Qualität funktioniert nur verlustbehaftet Format wie JPEG und wirkt sich auf die quality of the image. inSampleSize Anfragen zur Unterabtastung des Originalbildes. Es wirkt sich sowohl auf die Breite als auch auf die Höhe aus, was bedeutet, dass das endgültige Bild 1/inSampleSize kleiner, in Breite und Höhe des Originals

+0

hm .. Dosis der insampleSize machen subsample ... ?? Das heißt, wenn ich die Option inampleSize kontrolliere oder gebe, wird die ursprüngliche Bitmap nicht verkleinert ?? Entschuldigung ... Ich verstehe nicht genau ... können Sie mehr Details erklären ..? – Adrian

+0

inSampleSize subsamples die ursprüngliche Bitmap. Z.B. Wenn du inSampleSize = 2 gibst, ist die Bitmap Breite/2 und Höhe/2 des Originals – Blackbelt

+0

ah wirklich ?? Oh mein Gott. Vielen Dank!! es ist wirklich hilfreich. also habe ich noch eine frage, auf der anderen seite wird die compress-option nicht verändert ?? Ist es nur auf Volumen bezogen? – Adrian