2010-11-23 10 views
0

Wenn es ein Bild auf meinem Handy, das ich bis zu einem Server, der 1 MB oder höher ist, möchte ich dieses Bild zu verkleinern und verkleinern Sie es auf eine kleinere Größe, ohne mit Originalbild in sowieso. Ich weiß, wie man vom Telefon kommt, und ich weiß auch, wie man es an einen Server schickt, ich muss nur wissen, wie man das Bild kleiner macht, weil große Dateien höher als 1mb mir Probleme geben.Android schrumpfen große Bildgröße

Antwort

1

können Sie Bitmaps skalieren wie so:

// Load in your bitmap here, I'll leave this detail up to you 
Bitmap _bitmapPreScale = BitmapFactory.decodeResource(resources, fieldValue); 

int oldWidth = _bitmapPreScale.getWidth(); 
int oldHeight = _bitmapPreScale.getHeight(); 
int newWidth = width; // whatever your desired width and height are 
int newHeight = height; 

// calculate the scale 
float scaleWidth = ((float) newWidth)/oldWidth; 
float scaleHeight = ((float) newHeight)/oldHeight; 

// create a matrix for the manipulation 
Matrix matrix = new Matrix(); 
// resize the bit map 
matrix.postScale(scaleWidth, scaleHeight); 

// recreate the new Bitmap 
Bitmap _bitmapScaled = Bitmap.createBitmap(_bitmapPreScale, 0, 0, oldWidth, oldHeight, matrix, true); 
+0

Gibt es eine Möglichkeit, die Dateigröße des ausgewählten Bildes zu überprüfen. Wie wenn Dateigröße ist> 1 MB oder 1024 KB tun, was Sie oben veröffentlicht haben, habe ich keine Probleme mit kleineren Dateigröße Bilder nur diese HD-Bilder. Danke – user516883

+0

Ok ich denke, ich kann nur diese Datei verwenden Datei = neue Datei ("infilename"); Dann ruf die Datei an. length ich denke das wird den Trick machen – user516883